Baseline Widely available
la méthode statique Reflect.setPrototypeOf()
est semblable à la méthode Object.setPrototypeOf()
(exception faite de la valeur de retour). 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
. Cette méthode renvoie true
si l'opération a réussi et false
sinon.
const object1 = {};
console.log(Reflect.setPrototypeOf(object1, Object.prototype));
// Expected output: true
console.log(Reflect.setPrototypeOf(object1, null));
// Expected output: true
const object2 = {};
console.log(Reflect.setPrototypeOf(Object.freeze(object2), null));
// Expected output: false
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
).
Un booléen qui indique si le prototype a correctement été modifié.
ExceptionsUne erreur TypeError
si cible
n'est pas un Object
ou si prototype
n'est ni un objet ni null
.
La méthode Reflect.setPrototypeOf
permet de modifier le prototype (qui est la valeur de la propriété interne [[Prototype]]
) d'un objet donné.
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 Compatibilité des navigateurs Voir aussi
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4