--- title: Reflect.set() slug: Web/JavaScript/Reference/Global_Objects/Reflect/set translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/set ---
El método estático Reflect
.set()
funciona igual que asignar una propiedad en un objeto.
Reflect.set(target, propertyKey, value[, receiver])
target
propertyKey
this
para usar en la llamada a target
si se encuentra un setter.Un {{jsxref("Boolean")}} indicando si se pudo o no asignar la propiedad.
Un {{jsxref("TypeError")}}, si target
no es un {{jsxref("Object")}}.
El método Reflect.set
permite asignar una propiedad a un objeto. It does property assignment and is like the property accessor syntax as a function.
Uso de Reflect.set()
// Objeto var obj = {}; Reflect.set(obj, 'prop', 'value'); // true obj.prop; // "value" // Arreglo var arr = ['duck', 'duck', 'duck']; Reflect.set(arr, 2, 'goose'); // true arr[2]; // "goose" // Puede truncar un arreglo. Reflect.set(arr, 'length', 1); // true arr; // ["duck"]; // Con solo un argumento, propertyKey y value son "undefined". var obj = {}; Reflect.set(obj); // true Reflect.getOwnPropertyDescriptor(obj, 'undefined'); // { value: undefined, writable: true, enumerable: true, configurable: true }
Especificación | Estado | Comentarios |
---|---|---|
{{SpecName('ES2015', '#sec-reflect.set', 'Reflect.set')}} | {{Spec2('ES2015')}} | Initial definition. |
{{SpecName('ESDraft', '#sec-reflect.set', 'Reflect.set')}} | {{Spec2('ESDraft')}} |
{{CompatibilityTable}}
Característica | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Soporte básico | 49 | {{CompatVersionUnknown}} | {{CompatGeckoDesktop(42)}} | {{CompatNo}} | {{CompatNo}} | 10 |
Característica | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Soporte básico | {{CompatNo}} | 49 | {{CompatVersionUnknown}} | {{CompatGeckoMobile(42)}} | {{CompatNo}} | {{CompatNo}} | 10 |