aboutsummaryrefslogtreecommitdiff
path: root/files/it/web/javascript/reference/functions_and_function_scope/set
diff options
context:
space:
mode:
authorFlorian Merz <me@fiji-flo.de>2021-02-11 14:47:54 +0100
committerFlorian Merz <me@fiji-flo.de>2021-02-11 14:47:54 +0100
commit30feb96f6084a2fb976a24ac01c1f4a054611b62 (patch)
treed73194ae27b60156ff0ca54013c8c4ad8519f10a /files/it/web/javascript/reference/functions_and_function_scope/set
parent8260a606c143e6b55a467edf017a56bdcd6cba7e (diff)
downloadtranslated-content-30feb96f6084a2fb976a24ac01c1f4a054611b62.tar.gz
translated-content-30feb96f6084a2fb976a24ac01c1f4a054611b62.tar.bz2
translated-content-30feb96f6084a2fb976a24ac01c1f4a054611b62.zip
unslug it: move
Diffstat (limited to 'files/it/web/javascript/reference/functions_and_function_scope/set')
-rw-r--r--files/it/web/javascript/reference/functions_and_function_scope/set/index.html214
1 files changed, 0 insertions, 214 deletions
diff --git a/files/it/web/javascript/reference/functions_and_function_scope/set/index.html b/files/it/web/javascript/reference/functions_and_function_scope/set/index.html
deleted file mode 100644
index 1af0f1c79d..0000000000
--- a/files/it/web/javascript/reference/functions_and_function_scope/set/index.html
+++ /dev/null
@@ -1,214 +0,0 @@
----
-title: setter
-slug: Web/JavaScript/Reference/Functions_and_function_scope/set
-tags:
- - Funzioni
- - JavaScript
- - setter
-translation_of: Web/JavaScript/Reference/Functions/set
----
-<div>{{jsSidebar("Functions")}}</div>
-
-<p>Il costrutto sintattico <strong><code>set</code></strong> collega una proprietà di un oggetto ad una funzione che viene chiamata quando si ha un tentativo di modifica di quella proprietà.</p>
-
-<h2 id="Sintassi">Sintassi</h2>
-
-<pre class="syntaxbox notranslate">{set <em>prop</em>(<em>val</em>) { . . . }}
-{set [expression](<em>val</em>) { . . . }}</pre>
-
-<h3 id="Parametri">Parametri</h3>
-
-<dl>
- <dt><code>prop</code></dt>
- <dd>Il nome della proprietà da collegare alla funzione data.</dd>
-</dl>
-
-<dl>
- <dt><code>val</code></dt>
- <dd>Un alias per la variabile che contiene il valore che si sta cercando di assegnare a <code>prop</code>.</dd>
- <dt>expression</dt>
- <dd>A partire da ECMAScript 6, è possibile anche usare espressioni per nomi di proprietà computate da collegare alla funzione data.</dd>
-</dl>
-
-<h2 id="Descrizione">Descrizione</h2>
-
-<p>In JavaScript, un setter può essere utilizzato per eseguire una funzione ogniqualvolta una proprietà specificata sta per essere modificata. I setters sono quasi sempre utilizzati insieme ai getters per creare un tipo di pseudo proprietà. Non è possibile avere un setter su una normale proprietà che contiene un valore.</p>
-
-<p>Alcune note da considerare quando si utilizza il costrutto sintattico <code>set</code>:</p>
-
-<div>
-<ul>
- <li>Può avere un identificatore che può essere od un numero od una stringa;</li>
- <li>Deve avere esattamente un parametro(consultare <a class="external" href="http://whereswalden.com/2010/08/22/incompatible-es5-change-literal-getter-and-setter-functions-must-now-have-exactly-zero-or-one-arguments/" rel="external nofollow">Incompatible <abbr title="ECMAScript 5th edition">ES5</abbr> change: literal getter and setter functions must now have exactly zero or one arguments</a> per maggiori informazioni);</li>
- <li>Non può apparire in un letterale di un oggetto con un altro set o con un assegnamento per la stessa proprietà.<br>
- ( <code>{ set x(v) { }, set x(v) { } }</code> e <code>{ x: ..., set x(v) { } } </code>non sono permessi )</li>
-</ul>
-</div>
-
-<p>Un setter può essere eliminato usando l'operatore <a href="/en-US/docs/Web/JavaScript/Reference/Operators/delete" title="en-US/docs/JavaScript/Reference/Operators/Special/delete"><code>delete</code></a>.</p>
-
-<h2 id="Esempi">Esempi</h2>
-
-<h3 id="Definire_un_setter_per_nuovi_oggetti_in_inizializzatori_di_oggetti">Definire un setter per nuovi oggetti in inizializzatori di oggetti</h3>
-
-<p>Questo snippet di codice definisce una pseudo proprietà <code>current</code> di un oggetto <code>o </code>che, una volta che vi si assegna un valore, aggiornerà <code>log </code>con quel valore:</p>
-
-<pre class="brush: js notranslate">var o = {
- set current (str) {
- this.log[this.log.length] = str;
- },
- log: []
-}
-</pre>
-
-<p>Nota che  <code>current</code> non è definito ed ogni tentativo di accedervi risulterà in un <code>undefined</code>.</p>
-
-<h3 id="Rimuovere_un_setter_con_loperatore_delete">Rimuovere un setter con l'operatore <code>delete</code></h3>
-
-<p>Se vuoi rimuovere il setter usato sopra, puoi semplicemente usare <code>delete</code>:</p>
-
-<pre class="brush: js notranslate">delete o.current;
-</pre>
-
-<h3 id="Definire_un_setter_su_oggetti_pre-esistenti_usando_defineProperty">Definire un setter su oggetti pre-esistenti usando <code>defineProperty</code></h3>
-
-<p>Per aggiungere un setter ad un oggetto pre-esistente, usa{{jsxref("Object.defineProperty()")}}.</p>
-
-<pre class="brush: js notranslate">var o = { a:0 };
-
-Object.defineProperty(o, "b", { set: function (x) { this.a = x / 2; } });
-
-o.b = 10; // Runs the setter, which assigns 10 / 2 (5) to the 'a' property
-console.log(o.a) // 5</pre>
-
-<h3 id="Usare_il_nome_di_una_proprietà_computata">Usare il nome di una proprietà computata</h3>
-
-<div class="note">
-<p><strong>Nota:</strong> Le proprietà computate sono una tecnologia sperimentale<em>,</em> parte dello standard proposto ECMAScript 6, e non sono ancora sufficientemente supportate dai browsers. L'uso di queste proprietà in ambienti che non le supportano produrrà un errore di sintassi.</p>
-</div>
-
-<pre class="brush: js notranslate">var expr = "foo";
-
-var obj = {
- baz: "bar",
- set [expr](v) { this.baz = v; }
-};
-
-console.log(obj.baz); // "bar"
-obj.foo = "baz"; // run the setter
-console.log(obj.baz); // "baz"
-</pre>
-
-<h2 id="Specifiche">Specifiche</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specifica</th>
- <th scope="col">Status</th>
- <th scope="col">Commento</th>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-11.1.5', 'Object Initializer')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td>Definizione iniziale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-method-definitions', 'Method definitions')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td>Aggiunti i nomi di proprietà computate.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-method-definitions', 'Method definitions')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilità_dei_browsers">Compatibilità dei browsers</h2>
-
-<p>{{CompatibilityTable}}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Caratteristica</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Supporto base</td>
- <td>{{CompatChrome(1)}}</td>
- <td>{{ CompatGeckoDesktop("1.8.1") }}</td>
- <td>{{ CompatIE(9) }}</td>
- <td>9.5</td>
- <td>3</td>
- </tr>
- <tr>
- <td>Nomi di proprietà computate</td>
- <td>{{CompatNo}}</td>
- <td>{{ CompatGeckoDesktop("34") }}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Caratteristica</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Supporto base</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{ CompatGeckoMobile("1.8.1") }}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- </tr>
- <tr>
- <td>Nomi di proprietà computate</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{ CompatGeckoMobile("34.0") }}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="Note_specifiche_per_SpiderMonkey">Note specifiche per SpiderMonkey</h2>
-
-<ul>
- <li>A partire da<a href="/en-US/docs/Web/JavaScript/New_in_JavaScript/1.8.1"> JavaScript 1.8.1</a>,  i setters non sono più chiamati durante il setting delle properietà negli inizializzatori di oggetti od array.</li>
- <li>A partire da SpiderMonkey 38, un setter con {{jsxref("Functions/rest_parameters", "rest parameter", "", 1)}} produce un {{jsxref("SyntaxError")}} come  da specifica ES6.</li>
-</ul>
-
-<h2 id="Guarda_anche">Guarda anche</h2>
-
-<ul>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Functions/get">getter</a></li>
- <li>{{jsxref("Operators/delete", "delete")}}</li>
- <li>{{jsxref("Object.defineProperty()")}}</li>
- <li>{{jsxref("Object.defineGetter", "__defineGetter__")}}</li>
- <li>{{jsxref("Object.defineSetter", "__defineSetter__")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters">Defining Getters and Setters</a> nella guida JavaScript</li>
-</ul>