From bf8e099b9c8b3c60d60b3712b4fc97b052c39887 Mon Sep 17 00:00:00 2001 From: julieng Date: Tue, 3 Aug 2021 08:03:23 +0200 Subject: convert content to md --- .../web/javascript/reference/operators/in/index.md | 136 +++++++++------------ 1 file changed, 57 insertions(+), 79 deletions(-) (limited to 'files/fr/web/javascript/reference/operators/in') diff --git a/files/fr/web/javascript/reference/operators/in/index.md b/files/fr/web/javascript/reference/operators/in/index.md index da96f277bc..cb4f40c8e2 100644 --- a/files/fr/web/javascript/reference/operators/in/index.md +++ b/files/fr/web/javascript/reference/operators/in/index.md @@ -8,31 +8,29 @@ tags: translation_of: Web/JavaScript/Reference/Operators/in original_slug: Web/JavaScript/Reference/Opérateurs/L_opérateur_in --- -
{{jsSidebar("Operators")}}
+{{jsSidebar("Operators")}} -

L'opérateur in renvoie true si une propriété donnée appartient à l'objet donné (directement ou via sa chaîne de prototype).

+L'**opérateur `in`** renvoie `true` si une propriété donnée appartient à l'objet donné (directement ou via sa chaîne de prototype). -
{{EmbedInteractiveExample("pages/js/expressions-inoperator.html")}}
+{{EmbedInteractiveExample("pages/js/expressions-inoperator.html")}} -

Syntaxe

+## Syntaxe -
propriété in nomObjet
-
+ propriété in nomObjet -

Paramètres

+### Paramètres -
-
propriété
-
Une expression évaluée en un nombre ou une chaîne de caractères qui représente le nom d'une propriété ou l'indice d'un tableau.
-
nomObjet
-
Le nom de l'objet qu'on souhaite inspecter.
-
+- `propriété` + - : Une expression évaluée en un nombre ou une chaîne de caractères qui représente le nom d'une propriété ou l'indice d'un tableau. +- `nomObjet` + - : Le nom de l'objet qu'on souhaite inspecter. -

Description

+## Description -

Les exemples suivants illustrent certaines utilisation de l'opérateur in.

+Les exemples suivants illustrent certaines utilisation de l'opérateur `in`. -
// Tableaux
+```js
+// Tableaux
 var arbres = ["sapin", "hêtre", "cèdre", "chêne", "érable"];
 0 in arbres        // renvoie true
 3 in arbres        // renvoie true
@@ -52,88 +50,68 @@ var voiture = {marque : "Honda", modèle : "Accord", année : 1998};
 "modèle" in voiture  // renvoie true
 "marque" in voiture // renvoie true
 "Accord" in voiture // renvoie false
-
+``` -

L'opérande droit doit toujours être du type objet (et pas un autre type primitif). Par exemple, on peut utiliser une  chaîne créée avec le constructeur String, mais pas une chaîne littérale.

+L'opérande droit doit toujours être du type objet (et pas un autre type primitif). Par exemple, on peut utiliser une  chaîne créée avec le constructeur `String`, mais pas une chaîne littérale. -
var couleur1 = new String("vert");
+```js
+var couleur1 = new String("vert");
 "length" in couleur1 // renvoie true
 var couleur2 = "corail";
 "length" in couleur2 // génère une erreur (couleur n'est pas un objet String)
-
+``` -

Utilisation de l'opérateur in avec des propriétés supprimées ou indéfinies

+### Utilisation de l'opérateur `in` avec des propriétés supprimées ou indéfinies -

Si une propriété est supprimée avec l'opérateur delete, l'opérateur in renvoie false pour cette propriété.

+Si une propriété est supprimée avec l'opérateur [`delete`](fr/R%c3%a9f%c3%a9rence_de_JavaScript_1.5_Core/Op%c3%a9rateurs/Op%c3%a9rateurs_sp%c3%a9ciaux/L'op%c3%a9rateur_delete), l'opérateur `in` renvoie `false` pour cette propriété. -
var voiture = {marque : "Honda", modèle : "Accord", année : 1998};
+```js
+var voiture = {marque : "Honda", modèle : "Accord", année : 1998};
 delete voiture.marque;
 "marque" in voiture  // renvoie false
 
 var arbres = new Array("sapin", "hêtre", "cèdre", "chêne", "érable");
 delete arbres[3];
 3 in arbres // renvoie false
-
+``` -

Si une propriété est définie à {{jsxref("Objets_globaux/undefined", "undefined")}} mais n'est pas supprimée, l'opérateur in renverra true pour cette propriété.

+Si une propriété est définie à {{jsxref("Objets_globaux/undefined", "undefined")}} mais n'est pas supprimée, l'opérateur `in` renverra `true` pour cette propriété. -
var voiture = {marque : "Honda", modèle : "Accord", année : 1998};
+```js
+var voiture = {marque : "Honda", modèle : "Accord", année : 1998};
 voiture.marque = undefined;
 "marque" in voiture  // renvoie true
 
 var arbres = new Array("sapin", "hêtre", "cèdre", "chêne", "érable");
 arbres[3] = undefined;
 3 in arbres // renvoie true
-
- -

Propriétés héritées

- -

L'opérateur in renvoie true pour les propriétés qui appartiennent à la chaîne de prototypes. SI on souhaite la présence d'une propriété non-héritée, on utilisera plutôt {{jsxref("Object.prototype.hasOwnProperty()")}}.

- -
"toString" in {}; // renvoie true
- -

Spécifications

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ESDraft', '#sec-relational-operators', 'Relational Operators')}}{{Spec2('ESDraft')}}
{{SpecName('ES2015', '#sec-relational-operators', 'Opérateurs relationnels')}}{{Spec2('ES2015')}}
{{SpecName('ES5.1', '#sec-11.8.7', 'Opérateur in')}}{{Spec2('ES5.1')}}
{{SpecName('ES3', '#sec-11.8.7', 'Opérateurs in')}}{{Spec2('ES3')}}Définition initiale. Implémentée avec JavaScript 1.4.
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.operators.in")}}

- -

Voir aussi

- - +``` + +### Propriétés héritées + +L'opérateur `in` renvoie `true` pour les propriétés qui appartiennent à la chaîne de prototypes. SI on souhaite la présence d'une propriété non-héritée, on utilisera plutôt {{jsxref("Object.prototype.hasOwnProperty()")}}. + +```js +"toString" in {}; // renvoie true +``` + +## Spécifications + +| Spécification | État | Commentaires | +| -------------------------------------------------------------------------------------------------------- | ---------------------------- | ----------------------------------------------------- | +| {{SpecName('ESDraft', '#sec-relational-operators', 'Relational Operators')}} | {{Spec2('ESDraft')}} | | +| {{SpecName('ES2015', '#sec-relational-operators', 'Opérateurs relationnels')}} | {{Spec2('ES2015')}} | | +| {{SpecName('ES5.1', '#sec-11.8.7', 'Opérateur in')}} | {{Spec2('ES5.1')}} | | +| {{SpecName('ES3', '#sec-11.8.7', 'Opérateurs in')}} | {{Spec2('ES3')}} | Définition initiale. Implémentée avec JavaScript 1.4. | + +## Compatibilité des navigateurs + +{{Compat("javascript.operators.in")}} + +## Voir aussi + +- {{jsxref("Instructions/for...in","for...in")}} +- {{jsxref("Opérateurs/L_opérateur_delete","delete")}} +- {{jsxref("Object.prototype.hasOwnProperty()")}} +- {{jsxref("Reflect.has()")}} +- [Caractère énumérable des propriétés et rattachement](/fr/docs/Web/JavaScript/Caractère_énumérable_des_propriétés_et_rattachement) -- cgit v1.2.3-54-g00ecf