mozilla
Vos résultats de recherche

    L'opérateur in

    L'opérateur in renvoie true si la propriété donnée appartient à l'objet donné.

    Syntaxe

    propriété in nomObjet

    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.

    Description

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

    // Tableaux
    var arbres = new Array("sapin", "hêtre", "cèdre", "chêne", "érable");
    0 in arbres        // renvoie true
    3 in arbres        // renvoie true
    6 in arbres        // renvoie false
    "hêtre" in arbres  // renvoie false (l'indice doit être spécifié, pas la valeur à cet indice)
    "length" in arbres // renvoie true (length est une propriété des objets Array)
    
    // Objets prédéfinis
    "PI" in Math           // renvoie true
    var ma_chaine = new String("corail");
    "length" in ma_chaine  // renvoie true
    
    // Objets personnalisés
    var voiture = {marque : "Honda", modèle : "Accord", année : 1998};
    "marque" in voiture  // renvoie true
    "modèle" in voiture  // renvoie true
    

    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");
    "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

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

    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 à 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};
    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.

    "toString" in {}; // renvoie true

    Spécifications

    Spécification Statut Commentaires
    Première édition d'ECMAScript. Standard Définition initiale. Implémentée avec JavaScript 1.4
    ECMAScript 5.1 (ECMA-262)
    La définition de 'The in Operator' dans cette spécification.
    Standard  
    ECMAScript 6 (ECMA-262)
    La définition de 'Relational Operators' dans cette spécification.
    En cours de validation comme recommandation  

    Compatibilité des navigateurs

    Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Support simple (Oui) (Oui) (Oui) (Oui) (Oui)
    Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Support simple (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)

    Voir aussi

    Étiquettes et contributeurs liés au document

    Contributors to this page: BenoitL, Jeremie, SphinxKnight, teoli
    Dernière mise à jour par : SphinxKnight,
    Masquer la barre latérale