| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/in | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
L'oprateur in renvoie true si une proprit donne appartient l'objet donn (directement ou via sa chane de prototype).
const car = { make: "Honda", model: "Accord", year: 1998 };
console.log("make" in car);
// Expected output: true
delete car.make;
if ("make" in car === false) {
car.make = "Suzuki";
}
console.log(car.make);
// Expected output: "Suzuki"
proprit in nomObjet;
propritUne expression value en un nombre ou une chane de caractres qui reprsente le nom d'une proprit ou l'indice d'un tableau.
nomObjetLe nom de l'objet qu'on souhaite inspecter.
Les exemples suivants illustrent certaines utilisation de l'oprateur in.
// Tableaux
var arbres = ["sapin", "htre", "cdre", "chne", "rable"];
0 in arbres; // renvoie true
3 in arbres; // renvoie true
6 in arbres; // renvoie false
"htre" in arbres; // renvoie false (l'indice doit tre spcifi, pas la valeur cet indice)
"length" in arbres; // renvoie true (length est une proprit des objets Array)
Symbol.iterator in arbres; // renvoie true (les tableaux sont itrables, partir d'ES6)
// Objets prdfinis
"PI" in Math; // renvoie true
var ma_chaine = new String("corail");
"length" in ma_chaine; // renvoie true
// Objets personnaliss
var voiture = { marque: "Honda", modle: "Accord", anne: 1998 };
"marque" in voiture; // renvoie true
"modle" in voiture; // renvoie true
"marque" in voiture; // renvoie true
"Accord" in voiture; // renvoie false
L'oprande droit doit toujours tre du type objet (et pas un autre type primitif). Par exemple, on peut utiliser une chane cre avec le constructeur String, mais pas une chane littrale.
var couleur1 = new String("vert");
"length" in couleur1; // renvoie true
var couleur2 = "corail";
"length" in couleur2; // gnre une erreur (couleur n'est pas un objet String)
in avec des proprits supprimes ou indfiniesSi une proprit est supprime avec l'oprateur delete, l'oprateur in renvoie false pour cette proprit.
var voiture = { marque: "Honda", modle: "Accord", anne: 1998 };
delete voiture.marque;
"marque" in voiture; // renvoie false
var arbres = new Array("sapin", "htre", "cdre", "chne", "rable");
delete arbres[3];
3 in arbres; // renvoie false
Si une proprit est dfinie undefined mais n'est pas supprime, l'oprateur in renverra true pour cette proprit.
var voiture = { marque: "Honda", modle: "Accord", anne: 1998 };
voiture.marque = undefined;
"marque" in voiture; // renvoie true
var arbres = new Array("sapin", "htre", "cdre", "chne", "rable");
arbres[3] = undefined;
3 in arbres; // renvoie true
L'oprateur in renvoie true pour les proprits qui appartiennent la chane de prototypes. SI on souhaite la prsence d'une proprit non-hrite, on utilisera plutt Object.prototype.hasOwnProperty().
"toString" in {}; // renvoie true
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-relational-operators |
for...indeleteObject.prototype.hasOwnProperty()Reflect.has()Cette page a t modifie le 22 mai 2026 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |