aboutsummaryrefslogtreecommitdiff
path: root/files/es/web/javascript/reference/global_objects/proxy/handler
diff options
context:
space:
mode:
authorFlorian Merz <me@fiji-flo.de>2021-02-11 14:46:50 +0100
committerFlorian Merz <me@fiji-flo.de>2021-02-11 14:46:50 +0100
commita55b575e8089ee6cab7c5c262a7e6db55d0e34d6 (patch)
tree5032e6779a402a863654c9d65965073f09ea4182 /files/es/web/javascript/reference/global_objects/proxy/handler
parent8260a606c143e6b55a467edf017a56bdcd6cba7e (diff)
downloadtranslated-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')
-rw-r--r--files/es/web/javascript/reference/global_objects/proxy/handler/getownpropertydescriptor/index.html129
-rw-r--r--files/es/web/javascript/reference/global_objects/proxy/handler/index.html84
-rw-r--r--files/es/web/javascript/reference/global_objects/proxy/handler/set/index.html122
3 files changed, 0 insertions, 335 deletions
diff --git a/files/es/web/javascript/reference/global_objects/proxy/handler/getownpropertydescriptor/index.html b/files/es/web/javascript/reference/global_objects/proxy/handler/getownpropertydescriptor/index.html
deleted file mode 100644
index 6c050f7f0a..0000000000
--- a/files/es/web/javascript/reference/global_objects/proxy/handler/getownpropertydescriptor/index.html
+++ /dev/null
@@ -1,129 +0,0 @@
----
-title: handler.getOwnPropertyDescriptor()
-slug: Web/JavaScript/Reference/Global_Objects/Proxy/handler/getOwnPropertyDescriptor
-tags:
- - ECMAScript 2015
- - JavaScript
- - Proxy
- - metodo
-translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/getOwnPropertyDescriptor
----
-<div>{{JSRef}}</div>
-
-<div>El método <strong><code>handler.getOwnPropertyDescriptor()</code></strong> captura {{jsxref("Object.getOwnPropertyDescriptor()")}}.</div>
-
-<h2 id="Sintaxis">Sintaxis</h2>
-
-<pre class="brush: js">var p = new Proxy(target, {
- getOwnPropertyDescriptor: function(target, prop) {
- }
-});
-</pre>
-
-<h3 id="Parámetros">Parámetros</h3>
-
-<p>El método <code>getOwnPropertyDescriptor</code> recibe los siguiente parámetros. <code>this</code> está asociado al handler del proxy.</p>
-
-<dl>
- <dt><code>target</code></dt>
- <dd>El objeto destino.</dd>
- <dt><code>prop</code></dt>
- <dd>El nombre de la propiedad cuya descripción ha de ser devuelta.</dd>
-</dl>
-
-<h3 id="Valor_Devuelto">Valor Devuelto</h3>
-
-<p>El método <code>getOwnPropertyDescriptor</code> debe devolver un objeto o  <code>undefined</code>.</p>
-
-<h2 id="Descripción">Descripción</h2>
-
-<p>El método <code><strong>handler.getOwnPropertyDescriptor()</strong></code> captura {{jsxref("Object.getOwnPropertyDescriptor()")}}.</p>
-
-<h3 id="Intercepciones">Intercepciones</h3>
-
-<p>Este método intercepta las siguientes operaciones:</p>
-
-<ul>
- <li>{{jsxref("Object.getOwnPropertyDescriptor()")}}</li>
- <li>{{jsxref("Reflect.getOwnPropertyDescriptor()")}}</li>
-</ul>
-
-<h3 id="Invariantes">Invariantes</h3>
-
-<p>Si los siguientes invariantes son violados, el proxy lanzará {{jsxref("TypeError")}}:</p>
-
-<ul>
- <li><code>getOwnPropertyDescriptor</code> debe devolver un objeto o  <code>undefined</code>.</li>
- <li>No puede devolver que una propiedad no existe si está presente en el objeto como no configurable.</li>
- <li>No puede devolver que una propiedad no existe si esta está presente como una propiedad propia del objeto destino y el objeto no es extensible.</li>
- <li>No puede devolver que una propuedad existe, si esta no está presente en el objeto destino y el objeto no es extensible. </li>
- <li>No puede devolver que una propiedad es no configurable si esta no existe en el objeto destino o si existe pero sí es configurable.</li>
- <li>El resultado de  <code>Object.getOwnPropertyDescriptor(target)</code> puede ser aplicado al objeto destino mediante <code>Object.defineProperty </code>y no lanzará ningún tipo de excepción.</li>
-</ul>
-
-<h2 id="Ejemplos">Ejemplos</h2>
-
-<p>El siguiente código captura {{jsxref("Object.getOwnPropertyDescriptor()")}}.</p>
-
-<pre class="brush: js">var p = new Proxy({ a: 20}, {
- getOwnPropertyDescriptor: function(target, prop) {
- console.log('called: ' + prop);
- return { configurable: true, enumerable: true, value: 10 };
- }
-});
-
-console.log(Object.getOwnPropertyDescriptor(p, 'a').value); // "called: a"
- // 10
-</pre>
-
-<p>El siguiente código viola uno de los invariantes definidos previamente.</p>
-
-<pre class="brush: js">var obj = { a: 10 };
-Object.preventExtensions(obj);
-var p = new Proxy(obj, {
- getOwnPropertyDescriptor: function(target, prop) {
- return undefined;
- }
-});
-
-Object.getOwnPropertyDescriptor(p, 'a'); // TypeError is thrown
-</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-getownproperty-p', '[[GetOwnProperty]]')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Definición Inicial.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-proxy-object-internal-methods-and-internal-slots-getownproperty-p', '[[GetOwnProperty]]')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilidad_con_buscadores">Compatibilidad con buscadores</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Proxy.handler.getOwnPropertyDescriptor")}}</p>
-</div>
-
-<h2 id="Ver_también">Ver también</h2>
-
-<ul>
- <li>{{jsxref("Proxy")}}</li>
- <li>{{jsxref("Proxy.handler", "handler")}}</li>
- <li>{{jsxref("Object.getOwnPropertyDescriptor()")}}</li>
- <li>{{jsxref("Reflect.getOwnPropertyDescriptor()")}}</li>
-</ul>
diff --git a/files/es/web/javascript/reference/global_objects/proxy/handler/index.html b/files/es/web/javascript/reference/global_objects/proxy/handler/index.html
deleted file mode 100644
index 2be6abb116..0000000000
--- a/files/es/web/javascript/reference/global_objects/proxy/handler/index.html
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: Proxy handler
-slug: Web/JavaScript/Reference/Global_Objects/Proxy/handler
-tags:
- - ECMAScript 2015
- - JavaScript
- - NeedsTranslation
- - Proxy
- - TopicStub
-translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy
-translation_of_original: Web/JavaScript/Reference/Global_Objects/Proxy/handler
----
-<div>{{JSRef}}</div>
-
-<p>The proxy's handler object is a placeholder object which contains traps for {{jsxref("Proxy", "proxies", "", 1)}}.</p>
-
-<h2 id="Methods">Methods</h2>
-
-<p>All traps are optional. If a trap has not been defined, the default behavior is to forward the operation to the target.</p>
-
-<dl>
- <dt>{{jsxref("Global_Objects/Proxy/handler/getPrototypeOf", "handler.getPrototypeOf()")}}</dt>
- <dd>A trap for {{jsxref("Object.getPrototypeOf")}}.</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/setPrototypeOf", "handler.setPrototypeOf()")}}</dt>
- <dd>A trap for {{jsxref("Object.setPrototypeOf")}}.</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/isExtensible", "handler.isExtensible()")}}</dt>
- <dd>A trap for {{jsxref("Object.isExtensible")}}.</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/preventExtensions", "handler.preventExtensions()")}}</dt>
- <dd>A trap for {{jsxref("Object.preventExtensions")}}.</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/getOwnPropertyDescriptor", "handler.getOwnPropertyDescriptor()")}}</dt>
- <dd>A trap for {{jsxref("Object.getOwnPropertyDescriptor")}}.</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/defineProperty", "handler.defineProperty()")}}</dt>
- <dd>A trap for {{jsxref("Object.defineProperty")}}.</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/has", "handler.has()")}}</dt>
- <dd>A trap for the {{jsxref("Operators/in", "in")}} operator.</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/get", "handler.get()")}}</dt>
- <dd>A trap for getting property values.</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/set", "handler.set()")}}</dt>
- <dd>A trap for setting property values.</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/deleteProperty", "handler.deleteProperty()")}}</dt>
- <dd>A trap for the {{jsxref("Operators/delete", "delete")}} operator.</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/ownKeys", "handler.ownKeys()")}}</dt>
- <dd>A trap for {{jsxref("Object.getOwnPropertyNames")}} and {{jsxref("Object.getOwnPropertySymbols")}}.</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/apply", "handler.apply()")}}</dt>
- <dd>A trap for a function call.</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/construct", "handler.construct()")}}</dt>
- <dd>A trap for the {{jsxref("Operators/new", "new")}} operator.</dd>
-</dl>
-
-<p>Some non-standard traps are <a href="/en-US/docs/Web/JavaScript/Reference/Deprecated_and_obsolete_features#Proxy">obsolete and have been removed</a>.</p>
-
-<h2 id="Specifications">Specifications</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES2015', '#sec-proxy-object-internal-methods-and-internal-slots', 'Proxy Object Internal Methods and Internal Slots')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Initial definition.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-proxy-object-internal-methods-and-internal-slots', 'Proxy Object Internal Methods and Internal Slots')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td>The <code>enumerate</code> handler has been removed.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-
-
-<p>{{Compat("javascript.builtins.Proxy.handler")}}</p>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li>{{jsxref("Proxy")}}</li>
-</ul>
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>