--- 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])
targetpropertyKeythis 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')}} |