aboutsummaryrefslogtreecommitdiff
path: root/files/it/web/javascript/reference/global_objects/proxy
diff options
context:
space:
mode:
authorRyan Johnson <rjohnson@mozilla.com>2021-04-29 16:16:42 -0700
committerGitHub <noreply@github.com>2021-04-29 16:16:42 -0700
commit95aca4b4d8fa62815d4bd412fff1a364f842814a (patch)
tree5e57661720fe9058d5c7db637e764800b50f9060 /files/it/web/javascript/reference/global_objects/proxy
parentee3b1c87e3c8e72ca130943eed260ad642246581 (diff)
downloadtranslated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.gz
translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.bz2
translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.zip
remove retired locales (#699)
Diffstat (limited to 'files/it/web/javascript/reference/global_objects/proxy')
-rw-r--r--files/it/web/javascript/reference/global_objects/proxy/index.html396
-rw-r--r--files/it/web/javascript/reference/global_objects/proxy/proxy/apply/index.html120
-rw-r--r--files/it/web/javascript/reference/global_objects/proxy/proxy/index.html85
-rw-r--r--files/it/web/javascript/reference/global_objects/proxy/revocable/index.html87
4 files changed, 0 insertions, 688 deletions
diff --git a/files/it/web/javascript/reference/global_objects/proxy/index.html b/files/it/web/javascript/reference/global_objects/proxy/index.html
deleted file mode 100644
index fa35ff1d43..0000000000
--- a/files/it/web/javascript/reference/global_objects/proxy/index.html
+++ /dev/null
@@ -1,396 +0,0 @@
----
-title: Proxy
-slug: Web/JavaScript/Reference/Global_Objects/Proxy
-translation_of: Web/JavaScript/Reference/Global_Objects/Proxy
----
-<div>
-<div>{{JSRef}}</div>
-
-<div>L'oggetto <strong>Proxy</strong> è utilizzato per definire comportamenti personalizzati per operazioni fondamentali (per esempio: ricerca delle proprietà, assegnazione, enumerazione, invocazione delle funzioni, ecc.).</div>
-</div>
-
-<h2 id="Terminologia">Terminologia</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler">handler</a></dt>
- <dd>Oggetto placeholder, il quale contiene le trappole.</dd>
- <dt>traps</dt>
- <dd>I metodi che forniscono l'accesso alle proprietà. Questo è analogo al concetto di trappola nei sistemi operativi.</dd>
- <dt>target</dt>
- <dd>Oggetti, che i proxy virtualizzano (sostituiscono). <span class="short_text" id="result_box" lang="it"><span>Viene spesso utilizzato come back-end di archiviazione per il proxy</span></span>. Le invarianti, riguardanti oggetti non estensibili o proprietà non configurabili, sono verificate prima di interagire con l'obiettivo.</dd>
-</dl>
-
-<h2 id="Sintassi">Sintassi</h2>
-
-<pre class="syntaxbox">var p = new Proxy(target, handler);
-</pre>
-
-<h3 id="Parametri">Parametri</h3>
-
-<dl>
- <dt><code>target</code></dt>
- <dd>Un oggetto target che il Proxy ingloberà. Può essere un qualsiasi tipo di oggetto, array nativi inclusi, funzioni o anche altri Proxy.</dd>
- <dt><code>handler</code></dt>
- <dd>Un oggetto le cui proprietà sono funzioni che definiscono i comportamenti del proxy quando un'operazione viene effettuata su di esso.</dd>
-</dl>
-
-<h2 id="Metodi">Metodi</h2>
-
-<dl>
- <dt>{{jsxref("Proxy.revocable()")}}</dt>
- <dd>Crea un oggetto Proxy revocabile.</dd>
-</dl>
-
-<h2 id="Metodi_dell'handler_object">Metodi dell'handler object</h2>
-
-<p>L'oggetto handler è un oggetto placeholder, il quale contiene le trappole per il Proxy.</p>
-
-<h2 id="Esempi">Esempi</h2>
-
-<h3 id="Esempio_base">Esempio base</h3>
-
-<p>In questo esempio base il numero <code>37</code> viene restituito come valore di default quando l'oggetto non contiene la proprietà richiesta. Viene utilizzato il <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/get">get</a></code> handler.</p>
-
-<pre class="brush: js">var handler = {
- get: function(target, name) {
- return name in target ?
- target[name] :
- 37;
- }
-};
-
-var p = new Proxy({}, handler);
-p.a = 1;
-p.b = undefined;
-
-console.log(p.a, p.b); // 1, undefined
-console.log('c' in p, p.c); // false, 37
-</pre>
-
-<h3 id="No-op_forwarding_proxy">No-op forwarding proxy</h3>
-
-<p>In questo esempio viene utilizzato un semplice oggetto Javascript come target, al quale il proxy inoltrerà tutte le operazioni che sono state applicate su di esso. </p>
-
-<pre class="brush: js">var target = {};
-var p = new Proxy(target, {});
-
-p.a = 37; // operazione inoltrata al target
-
-console.log(target.a); // 37. Operazione inoltrata con successo
-</pre>
-
-<h3 id="Validation">Validation</h3>
-
-<p>Con un proxy, puoi facilmente validare il valore passato per un oggetto. In questo esempio viene utilizzato il  <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/get">set </a></code>handler.</p>
-
-<pre class="brush: js">let validator = {
- set: function(obj, prop, value) {
- if (prop === 'age') {
- if (!Number.isInteger(value)) {
- throw new TypeError('L\'età non è un numero intero');
- }
- if (value &gt; 200) {
- throw new RangeError('L\'età sembra non essere valida');
- }
- }
-
- // Il comportamento di default da adoperare per memorizzare il valore
- obj[prop] = value;
-
- return true;
- }
-};
-
-let person = new Proxy({}, validator);
-
-person.age = 100;
-console.log(person.age); // 100
-person.age = 'young'; // Lancia una eccezione
-person.age = 300; // Lancia una eccezione</pre>
-
-<h3 id="Extending_constructor">Extending constructor</h3>
-
-<p>Una funzione proxy può facilmente estendere un costruttore con un nuovo costruttore. Questo esempio usa gli handler: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/construct"><code>construct</code></a> e <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/apply"><code>apply</code></a> .</p>
-
-<pre class="brush: js">function extend(sup, base) {
- var descriptor = Object.getOwnPropertyDescriptor(
- base.prototype, 'constructor'
- );
- base.prototype = Object.create(sup.prototype);
- var handler = {
- construct: function(target, args) {
- var obj = Object.create(base.prototype);
- this.apply(target, obj, args);
- return obj;
- },
- apply: function(target, that, args) {
- sup.apply(that, args);
- base.apply(that, args);
- }
- };
- var proxy = new Proxy(base, handler);
- descriptor.value = proxy;
- Object.defineProperty(base.prototype, 'constructor', descriptor);
- return proxy;
-}
-
-var Person = function(name) {
- this.name = name;
-};
-
-var Boy = extend(Person, function(name, age) {
- this.age = age;
-});
-
-Boy.prototype.sex = 'M';
-
-var Peter = new Boy('Peter', 13);
-console.log(Peter.sex); // "M"
-console.log(Peter.name); // "Peter"
-console.log(Peter.age); // 13</pre>
-
-<h3 id="Manipulating_DOM_nodes">Manipulating DOM nodes</h3>
-
-<p>Alcune volte vorresti attivare o disattivare un attributo o una classe di due elementi differenti. Qui è mostrato come è possibile farlo utilizzando il <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/set"><code>set</code></a> handler.</p>
-
-<pre class="brush: js">let view = new Proxy({
- selected: null
-},
-{
- set: function(obj, prop, newval) {
- let oldval = obj[prop];
-
- if (prop === 'selected') {
- if (oldval) {
- oldval.setAttribute('aria-selected', 'false');
- }
- if (newval) {
- newval.setAttribute('aria-selected', 'true');
- }
- }
-
- // Il comportamento di default da adoperare per memorizzare il valore
- obj[prop] = newval;
-
- // Indicate success
- return true;
- }
-});
-
-let i1 = view.selected = document.getElementById('item-1');
-console.log(i1.getAttribute('aria-selected')); // 'true'
-
-let i2 = view.selected = document.getElementById('item-2');
-console.log(i1.getAttribute('aria-selected')); // 'false'
-console.log(i2.getAttribute('aria-selected')); // 'true'</pre>
-
-<h3 id="Value_correction_and_an_extra_property">Value correction and an extra property</h3>
-
-<p>L'oggetto <code>products</code>  del proxy valuta il valore passato e lo converte in un array se è necessario. L'oggetto supporta anche una proprietà extra chiamata <code>latestBrowser</code>, uttilizzabile sia come getter che come setter.</p>
-
-<pre class="brush: js">let products = new Proxy({
- browsers: ['Internet Explorer', 'Netscape']
-},
-{
- get: function(obj, prop) {
- // An extra property
- if (prop === 'latestBrowser') {
- return obj.browsers[obj.browsers.length - 1];
- }
-
- // Il comportamento di default per restituire il valore
- return obj[prop];
- },
- set: function(obj, prop, value) {
- // An extra property
- if (prop === 'latestBrowser') {
- obj.browsers.push(value);
- return true;
- }
-
- // Converte il valore se non è un array
- if (typeof value === 'string') {
- value = [value];
- }
-
- // Il comportamento di default per memorizzare il valore
- obj[prop] = value;
-
- // Indicate success
- return true;
- }
-});
-
-console.log(products.browsers); // ['Internet Explorer', 'Netscape']
-products.browsers = 'Firefox'; // passa una stringa (per sbaglio)
-console.log(products.browsers); // ['Firefox'] &lt;- nessun problema, il valore passato è un array
-
-products.latestBrowser = 'Chrome';
-console.log(products.browsers); // ['Firefox', 'Chrome']
-console.log(products.latestBrowser); // 'Chrome'</pre>
-
-<h3 id="Trovare_un_oggetto_in_un_array_dalla_sua_proprietà">Trovare un oggetto in un array dalla sua proprietà</h3>
-
-<p>Questo proxy estende un array con alcune caratteristiche utiliti. Come puoi notare, puoi facilmente definire nuove proprietà senza utilizzare <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperties"><code>Object.defineProperties</code></a>. Questo esempio può essere adattato per trovare una riga di una tabella partendo dalla sua cella. In questo caso il target sarà <a href="https://developer.mozilla.org/en-US/docs/DOM/table.rows"><code>table.rows</code></a>.</p>
-
-<pre class="brush: js">let products = new Proxy([
- { name: 'Firefox', type: 'browser' },
- { name: 'SeaMonkey', type: 'browser' },
- { name: 'Thunderbird', type: 'mailer' }
-],
-{
- get: function(obj, prop) {
- // Il comportamento di default per ritornare un valore; prop è di solito un numero intero
- if (prop in obj) {
- return obj[prop];
- }
-
- // Ottieni il numero di prodotti; un alias di products.length
- if (prop === 'number') {
- return obj.length;
- }
-
- let result, types = {};
-
- for (let product of obj) {
- if (product.name === prop) {
- result = product;
- }
- if (types[product.type]) {
- types[product.type].push(product);
- } else {
- types[product.type] = [product];
- }
- }
-
- // Ottieni un prodotto dal campo name
- if (result) {
- return result;
- }
-
- // Ottieni un prodotto dal campo type
- if (prop in types) {
- return types[prop];
- }
-
- // Ottieni i tipi di prodotto
- if (prop === 'types') {
- return Object.keys(types);
- }
-
- return undefined;
- }
-});
-
-console.log(products[0]); // { name: 'Firefox', type: 'browser' }
-console.log(products['Firefox']); // { name: 'Firefox', type: 'browser' }
-console.log(products['Chrome']); // undefined
-console.log(products.browser); // [{ name: 'Firefox', type: 'browser' }, { name: 'SeaMonkey', type: 'browser' }]
-console.log(products.types); // ['browser', 'mailer']
-console.log(products.number); // 3
-</pre>
-
-<h3 id="Una_lista_completa_di_traps">Una lista completa di traps</h3>
-
-<p>Adesso, per creare una lista di trappole, per scopi didattici, proveremo a proxare un oggetto non nativo che è particolarmente adatto a questo tipo di operazioni: l' oggetto globale <code>docCookies</code> creato da <a href="https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie/Simple_document.cookie_framework" title="https://developer.mozilla.org/en-US/docs/DOM/document.cookie#A_little_framework.3A_a_complete_cookies_reader.2Fwriter_with_full_unicode_support">the "little framework" published on the <code>document.cookie</code> page</a>.</p>
-
-<pre class="brush: js">/*
- var docCookies = ... get the "docCookies" object here:
- https://developer.mozilla.org/en-US/docs/DOM/document.cookie#A_little_framework.3A_a_complete_cookies_reader.2Fwriter_with_full_unicode_support
-*/
-
-var docCookies = new Proxy(docCookies, {
- get: function (oTarget, sKey) {
- return oTarget[sKey] || oTarget.getItem(sKey) || undefined;
- },
- set: function (oTarget, sKey, vValue) {
- if (sKey in oTarget) { return false; }
- return oTarget.setItem(sKey, vValue);
- },
- deleteProperty: function (oTarget, sKey) {
- if (sKey in oTarget) { return false; }
- return oTarget.removeItem(sKey);
- },
- enumerate: function (oTarget, sKey) {
- return oTarget.keys();
- },
- ownKeys: function (oTarget, sKey) {
- return oTarget.keys();
- },
- has: function (oTarget, sKey) {
- return sKey in oTarget || oTarget.hasItem(sKey);
- },
- defineProperty: function (oTarget, sKey, oDesc) {
- if (oDesc &amp;&amp; 'value' in oDesc) { oTarget.setItem(sKey, oDesc.value); }
- return oTarget;
- },
- getOwnPropertyDescriptor: function (oTarget, sKey) {
- var vValue = oTarget.getItem(sKey);
- return vValue ? {
- value: vValue,
- writable: true,
- enumerable: true,
- configurable: false
- } : undefined;
- },
-});
-
-/* Test dei cookie */
-
-console.log(docCookies.my_cookie1 = 'First value');
-console.log(docCookies.getItem('my_cookie1'));
-
-docCookies.setItem('my_cookie1', 'Changed value');
-console.log(docCookies.my_cookie1);</pre>
-
-<h2 id="Specifiche">Specifiche</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-objects', 'Proxy')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Definizione iniziale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES2016', '#sec-proxy-objects', 'Proxy')}}</td>
- <td>{{Spec2('ES2016')}}</td>
- <td> </td>
- </tr>
- <tr>
- <td>{{SpecName('ES2017', '#sec-proxy-objects', 'Proxy')}}</td>
- <td>{{Spec2('ES2017')}}</td>
- <td> </td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-proxy-objects', 'Proxy')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilità_tra_Browser">Compatibilità tra Browser</h2>
-
-
-
-<p>{{Compat("javascript.builtins.Proxy", 2)}}</p>
-
-<h2 id="Vedi_anche">Vedi anche</h2>
-
-<ul>
- <li><a class="external" href="https://www.youtube.com/watch?v=sClk6aB_CPk">"Proxies are awesome" Brendan Eich presentation at JSConf</a> (<a class="external" href="http://www.slideshare.net/BrendanEich/metaprog-5303821">slides</a>)</li>
- <li><a class="external" href="http://wiki.ecmascript.org/doku.php?id=harmony:proxies">ECMAScript Harmony Proxy proposal page</a> and <a class="external" href="http://wiki.ecmascript.org/doku.php?id=harmony:proxies_semantics">ECMAScript Harmony proxy semantics page</a></li>
- <li><a class="external" href="http://soft.vub.ac.be/~tvcutsem/proxies/">Tutorial on proxies</a></li>
- <li><a href="/en-US/docs/JavaScript/Old_Proxy_API" title="/en-US/docs/JavaScript/Old_Proxy_API">SpiderMonkey specific Old Proxy API</a></li>
- <li>{{jsxref("Object.watch()")}} is a non-standard feature but has been supported in Gecko for a long time.</li>
-</ul>
-
-<h2 id="Nota_di_licenza"><span class="short_text" id="result_box" lang="it"><span>Nota di licenza</span></span></h2>
-
-<p>Alcuni contentui (test, esempi) in questa pagina sono stati copiati o adattatu dall' <a class="external" href="http://wiki.ecmascript.org/doku.php">ECMAScript wiki</a> i quali contenuti sono sotto licenza <a class="external" href="http://creativecommons.org/licenses/by-nc-sa/2.0/">CC 2.0 BY-NC-SA</a>.</p>
diff --git a/files/it/web/javascript/reference/global_objects/proxy/proxy/apply/index.html b/files/it/web/javascript/reference/global_objects/proxy/proxy/apply/index.html
deleted file mode 100644
index 16c5a8dcb2..0000000000
--- a/files/it/web/javascript/reference/global_objects/proxy/proxy/apply/index.html
+++ /dev/null
@@ -1,120 +0,0 @@
----
-title: handler.apply()
-slug: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/apply
-tags:
- - ECMAScript 2015
- - JavaScript
- - Proxy
- - metodo
-translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/apply
-original_slug: Web/JavaScript/Reference/Global_Objects/Proxy/handler/apply
----
-<div>{{JSRef}}</div>
-
-<p>Il metodo <strong><code>handler.apply()</code></strong> costituisce una trap per una chiamata a funzione.</p>
-
-<div>{{EmbedInteractiveExample("pages/js/proxyhandler-apply.html", "taller")}}</div>
-
-<p class="hidden">Il sorgente di questo esempio interattivo è memorizzato in una repository GitHub. Qualora volessi contribuire al progetto degli esempi interattivi, puoi farlo clonando <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> e inviandoci una pull request.</p>
-
-<h2 id="Sintassi">Sintassi</h2>
-
-<pre class="brush: js">var p = new Proxy(target, {
- apply: function(target, thisArg, argumentsList) {
- }
-});
-</pre>
-
-<h3 id="Parametri">Parametri</h3>
-
-<p>I seguenti parametri vengono passati al metodo <code>apply</code>. <code>this</code> è legato all'handler.</p>
-
-<dl>
- <dt><code>target</code></dt>
- <dd>L'oggetto target.</dd>
- <dt><code>thisArg</code></dt>
- <dd>Il valore di <code>this</code> relativo alla chiamata.</dd>
- <dt><code>argumentsList</code></dt>
- <dd>La lista degli argomenti della chiamata.</dd>
-</dl>
-
-<h3 id="Valore_di_ritorno">Valore di ritorno</h3>
-
-<p>Il metodo <code>apply</code> può restituire qualsiasi valore.</p>
-
-<h2 id="Descrizione">Descrizione</h2>
-
-<p>Il metodo <code><strong>handler.apply</strong></code> è una trap per le chiamate a funzione.</p>
-
-<h3 id="Operazioni_intercettate">Operazioni intercettate</h3>
-
-<p>Questa trap può intercettare le seguenti operazioni:</p>
-
-<ul>
- <li><code>proxy(...args)</code></li>
- <li>{{jsxref("Function.prototype.apply()")}} e {{jsxref("Function.prototype.call()")}}</li>
- <li>{{jsxref("Reflect.apply()")}}</li>
-</ul>
-
-<h3 id="Invarianti">Invarianti</h3>
-
-<p>Se le seguenti invarianti non sono rispettate il proxy emetterà un TypeError:</p>
-
-<ul>
- <li>Lo stesso <code>target</code> deve essere un oggetto richiamabile, cioè deve essere un oggetto funzione.</li>
-</ul>
-
-<h2 id="Esempi">Esempi</h2>
-
-<p>Il codice seguente intercetta una chiamata a funzione.</p>
-
-<pre class="brush: js">var p = new Proxy(function() {}, {
- apply: function(target, thisArg, argumentsList) {
- console.log('chiamato con: ' + argumentsList.join(', '));
- return argumentsList[0] + argumentsList[1] + argumentsList[2];
- }
-});
-
-console.log(p(1, 2, 3)); // "chiamato con: 1, 2, 3"
- // 6
-</pre>
-
-<h2 id="Specifiche">Specifiche</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specifica</th>
- <th scope="col">Stato</th>
- <th scope="col">Commenti</th>
- </tr>
- <tr>
- <td>{{SpecName('ES2015', '#sec-proxy-object-internal-methods-and-internal-slots-call-thisargument-argumentslist', '[[Call]]')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Initial definition.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-proxy-object-internal-methods-and-internal-slots-call-thisargument-argumentslist', '[[Call]]')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilità_browser">Compatibilità browser</h2>
-
-<div>
-<div class="hidden">La tabella di compatibilità su questa pagina è generata a partire da dati strutturati. Se vuoi contribuire ai dati, fai un check out da <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> e mandaci una pull request.</div>
-
-<p>{{Compat("javascript.builtins.Proxy.handler.apply")}}</p>
-</div>
-
-<h2 id="Vedi_anche">Vedi anche</h2>
-
-<ul>
- <li>{{jsxref("Proxy")}}</li>
- <li>{{jsxref("Proxy.handler", "handler")}}</li>
- <li>{{jsxref("Function.prototype.apply")}}</li>
- <li>{{jsxref("Function.prototype.call")}}</li>
- <li>{{jsxref("Reflect.apply()")}}</li>
-</ul>
diff --git a/files/it/web/javascript/reference/global_objects/proxy/proxy/index.html b/files/it/web/javascript/reference/global_objects/proxy/proxy/index.html
deleted file mode 100644
index 695cf4ce22..0000000000
--- a/files/it/web/javascript/reference/global_objects/proxy/proxy/index.html
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: Proxy handler
-slug: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy
-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
-original_slug: 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/it/web/javascript/reference/global_objects/proxy/revocable/index.html b/files/it/web/javascript/reference/global_objects/proxy/revocable/index.html
deleted file mode 100644
index 5039f6fa07..0000000000
--- a/files/it/web/javascript/reference/global_objects/proxy/revocable/index.html
+++ /dev/null
@@ -1,87 +0,0 @@
----
-title: Proxy.revocable()
-slug: Web/JavaScript/Reference/Global_Objects/Proxy/revocable
-translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/revocable
-original_slug: Web/JavaScript/Reference/Global_Objects/Proxy/revocabile
----
-<div>{{JSRef}}</div>
-
-<p>Il metodo <code><strong>Proxy.revocable()</strong></code> è usato per creare un oggetto {{jsxref("Proxy")}} revocabile.</p>
-
-<h2 id="Sintassi">Sintassi</h2>
-
-<pre class="syntaxbox">Proxy.revocable(target, handler);
-</pre>
-
-<h3 id="Parametri">Parametri</h3>
-
-<div>{{ Page("it/docs/Web/JavaScript/Reference/Global_Objects/Proxy", "Parametri") }}</div>
-
-<h3 id="Valore_restituito">Valore restituito</h3>
-
-<p>Un nuovo oggetto <code>Proxy</code> revocabile.</p>
-
-<h2 id="Descrizione">Descrizione</h2>
-
-<p>Un <code>Proxy</code> revocabile è un oggetto con le seguenti due proprietà <code>{proxy: proxy, revoke: revoke}</code>.</p>
-
-<dl>
- <dt><code>proxy</code></dt>
- <dd>L'oggetto Proxy creato con <code>new Proxy(target, handler)</code>.</dd>
- <dt><code>revoke</code></dt>
- <dd>Una funzione che non richiede argomenti per disattivare il <code>proxy</code>.</dd>
-</dl>
-
-<p>Se la funzione <code>revoke()</code> viene invocata, il proxy diventa inutilizzabile: se si tenta di farne uso si otterrà un {{jsxref("TypeError")}}. Una volta che il proxy è revocato rimarrà in questo stato e potrà essere eliminato dal garbage collector. Successive invocazioni di <code>revoke()</code> non avranno effetto.</p>
-
-<h2 id="Esempi">Esempi</h2>
-
-<pre class="brush: js">var revocable = Proxy.revocable({}, {
- get: function(target, name) {
- return "[[" + name + "]]";
- }
-});
-var proxy = revocable.proxy;
-console.log(proxy.foo); // "[[foo]]"
-
-revocable.revoke();
-
-console.log(proxy.foo); // viene sollevato un TypeError
-proxy.foo = 1 // viene sollevato un TypeError
-delete proxy.foo; // viene sollevato un TypeError
-typeof proxy // "object", typeof non innesca nessuna trappola
-</pre>
-
-<h2 id="Specifiche">Specifiche</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.revocable', 'Proxy Revocation Functions')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Definizione iniziale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-proxy.revocable', 'Proxy Revocation Functions')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilità_tra_Browser">Compatibilità tra Browser</h2>
-
-
-
-<p>{{Compat("javascript.builtins.Proxy.revocable")}}</p>
-
-<h2 id="Vedi_anche">Vedi anche</h2>
-
-<ul>
- <li>{{jsxref("Proxy")}}</li>
-</ul>