Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Object.prototype.isPrototypeOf()

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

obj
L'objet pour lequel parcourir la chaîne de prototypes.

Valeur de retour

Un booléen indiquant si l'objet appelant possède l'objet indiqué dans sa 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 État Commentaires
ECMAScript 3rd Edition (ECMA-262) Standard Définition initiale.
ECMAScript 5.1 (ECMA-262)
La définition de 'Object.prototype.hasOwnProperty' dans cette spécification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Object.prototype.hasOwnProperty' dans cette spécification.
Standard  
ECMAScript 2017 Draft (ECMA-262)
La définition de 'Object.prototype.hasOwnProperty' dans cette spécification.
Projet  

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

 Contributeurs à cette page : SphinxKnight, darul75, teoli, Jeremie, fscholz, BenoitL
 Dernière mise à jour par : SphinxKnight,