Baseline Widely available
La méthode statique Reflect.defineProperty()
est semblable à Object.defineProperty()
mais renvoie un Boolean
.
const object1 = {};
if (Reflect.defineProperty(object1, "property1", { value: 42 })) {
console.log("property1 created!");
// Expected output: "property1 created!"
} else {
console.log("problem creating property1");
}
console.log(object1.property1);
// Expected output: 42
Syntaxe
Reflect.defineProperty(cible, cléPropriété, attributs);
Paramètres
cible
L'objet cible sur lequel on veut définir la propriété.
cléPropriété
Le nom de la propriété qu'on souhaite définir ou modifier.
attributs
Les attributs de de la propriété qu'on ajoute ou qu'on modifie.
Un booléen qui indique si la propriété a bien été définie.
ExceptionsUne erreur TypeError
si cible
n'est pas un Object
.
La méthode Reflect.defineProperty
permet d'ajouter ou de modifier finement une propriété d'un objet. Pour plus de détails, voir la méthode Object.defineProperty
qui est très similaire. Object.defineProperty
renvoie l'objet et lève une TypeError
si la propriété n'a pas correctement été définie. Reflect.defineProperty
renvoie simplement un Boolean
qui indique si la propriété a été définie avec succès ou non.
Reflect.defineProperty()
var obj = {};
Reflect.defineProperty(obj, "x", { value: 7 }); // true
obj.x; // 7
Vérifier si la définition de propriété a réussi
Object.defineProperty
renvoie un objet si la définition a réussi ou lève une exception TypeError
sinon, ce qui implique d'utiliser un bloc try...catch
pour attraper l'erreur. Reflect.defineProperty
renvoie un booléen pour indiquer la réussite ou l'échec, un bloc if...else
suffit :
if (Reflect.defineProperty(cible, propriété, attributs)) {
// succès
} else {
// échec
}
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