Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence
  4. Référence des erreurs JavaScript
  5. TypeError: invalid 'in' operand "x"

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

TypeError: invalid 'in' operand "x"

Message

TypeError: Invalid operand to 'in' (Edge)TypeError: right-hand side of 'in' should be an object, got 'x' (Firefox)TypeError: cannot use 'in' operator to search for 'x' in 'y' (Firefox, Chrome)

Type d'erreur

TypeError

Quel est le problème ?

L'opérateurin peut uniquement être utilisé pour vérifier qu'une propriété appartient à un objet. Il ne peut pas être utilisé pour rechercher des caractères dans des chaînes de caractères, des nombres ou dans d'autres types de données en dehors des objets.

Exemples

Rechercher un texte dans une chaîne de caractères

À la différence de certains langages de programmation (Python par exemple), JavaScript ne permet pas de chercher des textes dans une chaîne de caractères grâce à l'opérateurin.

js
"Coucou" in "Coucou monde";// TypeError: cannot use 'in' operator to search for 'Coucou' in 'Coucou monde'

On utilisera plutôt la méthodeString.prototype.indexOf() :

js
"Coucou monde".indexOf("Coucou") !== -1;// true

null ouundefined ne fonctionnent pas

Avant d'utiliserin, il faut s'assurer que la valeur qu'on inspecte n'est pasnull ouundefined.

js
var toto = null;"truc" in toto;// TypeError: cannot use 'in' operator to search for 'truc' in 'toto" (Chrome)// TypeError: right-hand side of 'in' should be an object, got null (Firefox)

L'opérateurin doit être utilisé avec un objet.

js
var toto = { machin: "bidule" };"truc" in toto; // false"PI" in Math; // true"pi" in Math; // false

Rechercher dans un tableau

Attention lorsqu'on utilise l'opérateurin quand on recherche une valeur dans un objetArray. L'opérateurin vérifie la présence de l'index mais pas la valeur présente à cet index.

js
var arbres = ["cèdre", "bouleau", "pin", "sapin", "érable"];3 in arbres; // true"pin" in arbres; // false

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp