la méthode statique Reflect
.setPrototypeOf()
est semblable à la méthode Object.setPrototypeOf()
. Elle permet de définir le prototype (c'est-à-dire la propriété interne [[Prototype]]
) d'un objet donné avec un autre objet ou null
.
Syntaxe
Reflect.setPrototypeOf(cible, prototype)
Paramètres
cible
- L'objet cible dont on souhaite modifier le prototype.
prototype
- Le nouveau prototype à appliquer à l'objet cible (ça peut être un objet ou
null
).
Valeur de retour
Un booléen qui indique si le prototype a correctement été modifié.
Exceptions
Une erreur TypeError
si cible
n'est pas un Object
ou si prototype
n'est ni un objet ni null
.
Description
La méthode Reflect.setPrototypeOf
permet de modifier le prototype (qui est la valeur de la propriété interne [[Prototype]]
) d'un objet donné.
Exemples
Utiliser Reflect.setPrototypeOf()
Reflect.setPrototypeOf({}, Object.prototype); // true // On peut modifier le [[Prototype]] d'un objet // pour que celui-ci soit null. Reflect.setPrototypeOf({}, null); // true // La méthode renvoie false si la cible // n'est pas extensible. Reflect.setPrototypeOf(Object.freeze({}), null); // false // La méthode renvoie false si l'affectation // entraîne un cycle dans la chaîne de prototypes. var target = {}; var proto = Object.create(target); Reflect.setPrototypeOf(target, proto); // false
Spécifications
Spécification | État | Commentaires |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'Reflect.setPrototypeOf' dans cette spécification. |
Standard | Définition initiale. |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | 49 | 42 (42) | Pas de support | Pas de support | Pas de support |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | Pas de support | Pas de support | 42.0 (42) | Pas de support | Pas de support | Pas de support |
Voir aussi
Étiquettes et contributeurs liés au document
Étiquettes :
Contributeurs à cette page :
SphinxKnight
Dernière mise à jour par :
SphinxKnight,