mozilla
Vos résultats de recherche

    Object.prototype.isPrototypeOf()

    Résumé

    La méthode isPrototypeOf() permet de tester si un objet fait partie de la chaîne de prototypes d'un autre objet.

    Note : isPrototypeOf est différent de l'opérateur instanceof. Dans l'expression « object instanceof AFunction », on compare la chaîne de prototypes d'object avec AFunction.prototype et non avec AFunction.

    Syntaxe

    prototypeObj.isPrototypeOf(obj)

    Paramètres

    prototypeObj
    Un objet dont on souhaite savoir s'il fait partie de la chaîne de prototype de l'argument  obj.
    obj
    L'objet pour lequel parcourir la chaîne de prototypes.

    Description

    La méthode isPrototypeOf permet de vérifier si un objet est présent au sein de la chaîne de prototypes d'un autre objet.

    Par exemple, si on a la chaîne suivante :

    function Fee() {
      // ...
    }
    
    function Fi() {
      // ...
    }
    Fi.prototype = new Fee();
    
    function Fo() {
      // ...
    }
    Fo.prototype = new Fi();
    
    function Fum() {
      // ...
    }
    Fum.prototype = new Fo();
    

    Si, plus tard, on instancie Fum et qu'on souhaite savoir si le prototype de Fi existe dans la chaîne de prototypes de Fum, on peut utiliser le code suivant :

    var fum = new Fum();
    // ...
    
    if (Fi.prototype.isPrototypeOf(fum)) {
      // faire quelque chose
    }
    

    Cette méthode, ainsi que l'opérateur instanceof, peut s'avérer utile lorsqu'on souhaite utiliser du code qui ne fonctionnerait qu'avec un objet qui descend d'une certaine chaîne de prototypes, ce qui permet de s'assurer qu'il possède les propriétés ou méthodes nécessaires.

    Spécifications

    Spécification Statut Commentaires
    Troisième édition d'ECMAScript. Standard Définition initiale.
    ECMAScript 5.1 (ECMA-262)
    La définition de 'Object.prototype.hasOwnProperty' dans cette spécification.
    Standard  
    ECMAScript 6 (ECMA-262)
    La définition de 'Object.prototype.hasOwnProperty' dans cette spécification.
    Draft  

    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: fscholz, SphinxKnight, teoli, BenoitL, Jeremie, darul75
    Dernière mise à jour par : SphinxKnight,