--- title: Reflect.set() slug: Web/JavaScript/Reference/Global_Objects/Reflect/set tags: - ECMAScript 2015 - JavaScript - Méthode - Reference - Reflect translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/set original_slug: Web/JavaScript/Reference/Objets_globaux/Reflect/set ---
La méthode statique Reflect.set()
permet de définir ou de modifier une propriété sur un objet.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
Reflect.set(cible, cléPropriété, valeur[, récepteur])
cible
cléPropriété
valeur
récepteur
{{optional_inline}}this
pour l'appel à cible
si un mutateur (setter) est utilisé.Un {{jsxref("Boolean","booléen","",1)}} qui indique si la définition/modification de la propriété a réussi.
Une erreur {{jsxref("TypeError")}} si cible
n'est pas un {{jsxref("Object")}}.
La méthode Reflect.set
permet de définir une propriété sur un objet. Elle effectue une affectation de propriété et est semblable à la syntaxe pour accéder à un propriété mais sous la forme d'une fonction.
Reflect.set()
// Object var obj = {}; Reflect.set(obj, "prop", "value"); // true obj.prop; // "value" // Array var arr = ["canard", "canard", "canard"]; Reflect.set(arr, 2, "oie"); // true arr[2]; // "oie" // On peut l'utiliser pour tronquer un tableau Reflect.set(arr, "length", 1); // true arr; // ["canard"]; // Avec un seul argument // cléPropriété et valeur valent "undefined". var obj = {}; Reflect.set(obj); // true Reflect.getOwnPropertyDescriptor(obj, "undefined"); // { value: undefined, writable: true, enumerable: true, configurable: true }
Spécification | État | Commentaires |
---|---|---|
{{SpecName('ES2015', '#sec-reflect.set', 'Reflect.set')}} | {{Spec2('ES2015')}} | Définition initiale. |
{{SpecName('ESDraft', '#sec-reflect.set', 'Reflect.set')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.Reflect.set")}}