diff options
| author | Florian Merz <me@fiji-flo.de> | 2021-02-11 14:46:50 +0100 |
|---|---|---|
| committer | Florian Merz <me@fiji-flo.de> | 2021-02-11 14:46:50 +0100 |
| commit | a55b575e8089ee6cab7c5c262a7e6db55d0e34d6 (patch) | |
| tree | 5032e6779a402a863654c9d65965073f09ea4182 /files/es/web/javascript/reference/global_objects/proxy/handler/set | |
| parent | 8260a606c143e6b55a467edf017a56bdcd6cba7e (diff) | |
| download | translated-content-a55b575e8089ee6cab7c5c262a7e6db55d0e34d6.tar.gz translated-content-a55b575e8089ee6cab7c5c262a7e6db55d0e34d6.tar.bz2 translated-content-a55b575e8089ee6cab7c5c262a7e6db55d0e34d6.zip | |
unslug es: move
Diffstat (limited to 'files/es/web/javascript/reference/global_objects/proxy/handler/set')
| -rw-r--r-- | files/es/web/javascript/reference/global_objects/proxy/handler/set/index.html | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/files/es/web/javascript/reference/global_objects/proxy/handler/set/index.html b/files/es/web/javascript/reference/global_objects/proxy/handler/set/index.html deleted file mode 100644 index ee5ac155e7..0000000000 --- a/files/es/web/javascript/reference/global_objects/proxy/handler/set/index.html +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: handler.set() -slug: Web/JavaScript/Reference/Global_Objects/Proxy/handler/set -tags: - - ECMAScript 2015 - - JavaScript - - Proxy - - metodo -translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/set ---- -<div>{{JSRef}}</div> - -<p>El método <code><strong>handler.set()</strong></code> captura las asignaciones de un valor a una determinada propiedad.</p> - -<h2 id="Sintaxis">Sintaxis</h2> - -<pre class="brush: js">var p = new Proxy(target, { - set: function(target, property, value, receiver) { - } -}); -</pre> - -<h3 id="Parámetros">Parámetros</h3> - -<p>El método <code>set</code> recibe los siguientes parámetros.<code>this</code> se asocia al handler.</p> - -<dl> - <dt><code>target</code></dt> - <dd>El objeto objetivo.</dd> - <dt><code>property</code></dt> - <dd>El nombre de la propiedad a la que se le asignará el valor.</dd> - <dt><code>value</code></dt> - <dd>El nuevo valor asignado a la propiedad.</dd> - <dt><code>receiver</code></dt> - <dd>El objeto al que originalmente iba dirigida la asignación. Normalmente es el proxy. Sin embargo el manejador o <code>set</code> handler puede ser llamado de forma indirecta a través de un prototipo entre otros.</dd> - <dd>Por ejemplo, suponga que un escript ejecuta la sentencia <code>obj.name = "jen"</code>, y <code>obj</code> no es un proxy, y no posee la propiedad <code>.name</code>, pero tiene un proxy en su cadena de prototipos. El manejador <code>set</code> de este proxy será llamado y obj será pasado como el receiver.</dd> -</dl> - -<h3 id="Valor_Devuelto">Valor Devuelto</h3> - -<p>El método <code>set</code> debe devolver un valor booleano. Devolverá <code>true</code> para indicar que la asignación se ha llevado a cabo con éxito. Si devuelve <code>false</code>, y la asignación tiene lugar en modo estricto, se lanzará un error de tipo <code>TypeError</code>.</p> - -<h2 id="Descripción">Descripción</h2> - -<p>El método <code><strong>handler.set</strong></code> captura la asignación de un valor a una propiedad.</p> - -<h3 id="Qué_intercepta">Qué intercepta</h3> - -<p>Las siguientes operaciones son capturadas:</p> - -<ul> - <li>Asignación a propiedades: <code>proxy[foo] = bar</code> y <code>proxy.foo = bar</code></li> - <li>Asignación a propiedades heredadas: <code>Object.create(proxy)[foo] = bar</code></li> - <li>{{jsxref("Reflect.set()")}}</li> -</ul> - -<h3 id="Invariantes">Invariantes</h3> - -<p>Si los siguientes invariantes son violados, el proxy lanzará un {{jsxref("TypeError")}}:</p> - -<ul> - <li>El valor de la propiedad no puede ser diferente al de la correspondiente propiedad del objeto, si esta es una propiedad no configurable, o sin permisos de escritura.</li> - <li>No se puede asignar un valor a una propiedad si la correspondiente propiedad en el objeto objetivo es no configurable y tiene <code>undefined</code> como su atributo [[Set]].</li> - <li>En modo estricto, la devolución de <code>false</code> pro parte del manejador <code>set</code> lanzará una excepción del tipo {{jsxref("TypeError")}}.</li> -</ul> - -<h2 id="Ejemplos">Ejemplos</h2> - -<p>El siguiente código captura la asignación de un valor a una propiedad.</p> - -<pre class="brush: js">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 -</pre> - -<h2 id="Especificaciones">Especificaciones</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Especificación</th> - <th scope="col">Estado</th> - <th scope="col">Comentario</th> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver', '[[Set]]')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Definición inicial.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver', '[[Set]]')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilidad_con_los_buscadores">Compatibilidad con los buscadores</h2> - -<div> - - -<p>{{Compat("javascript.builtins.Proxy.handler.set")}}</p> -</div> - -<h2 id="Ver_también">Ver también</h2> - -<ul> - <li>{{jsxref("Proxy")}}</li> - <li>{{jsxref("Proxy.handler", "handler")}}</li> - <li>{{jsxref("Reflect.set()")}}</li> -</ul> |
