Baseline Widely available
El método handler.set()
captura las asignaciones de un valor a una determinada propiedad.
var p = new Proxy(target, {
set: function (target, property, value, receiver) {},
});
Parámetros
El método set
recibe los siguientes parámetros. this
se asocia al handler.
target
El objeto objetivo.
property
El nombre de la propiedad a la que se le asignará el valor.
value
El nuevo valor asignado a la propiedad.
receiver
El objeto al que originalmente iba dirigida la asignación. Normalmente es el proxy. Sin embargo el manejador o set
handler puede ser llamado de forma indirecta a través de un prototipo entre otros.
Por ejemplo, suponga que un escript ejecuta la sentencia obj.name = "jen"
, y obj
no es un proxy, y no posee la propiedad .name
, pero tiene un proxy en su cadena de prototipos. El manejador set
de este proxy será llamado y obj será pasado como el receiver.
El método set
debe devolver un valor booleano. Devolverá true
para indicar que la asignación se ha llevado a cabo con éxito. Si devuelve false
, y la asignación tiene lugar en modo estricto, se lanzará un error de tipo TypeError
.
El método handler.set
captura la asignación de un valor a una propiedad.
Las siguientes operaciones son capturadas:
proxy[foo] = bar
y proxy.foo = bar
Object.create(proxy)[foo] = bar
Reflect.set()
Si los siguientes invariantes son violados, el proxy lanzará un TypeError
:
undefined
como su atributo [[Set]].false
pro parte del manejador set
lanzará una excepción del tipo TypeError
.El siguiente código captura la asignación de un valor a una propiedad.
var p = new Proxy(
{},
{
set: function (target, prop, value, receiver) {
target[prop] = value;
console.log("property set: " + prop + " = " + value);
return true;
},
},
);
console.log("a" in p); // false
p.a = 10; // "propiedad asignada: a = 10"
console.log("a" in p); // true
console.log(p.a); // 10
Especificaciones Compatibilidad con navegadores Ver también
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