diff options
| author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:17 -0500 |
|---|---|---|
| committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:17 -0500 |
| commit | da78a9e329e272dedb2400b79a3bdeebff387d47 (patch) | |
| tree | e6ef8aa7c43556f55ddfe031a01cf0a8fa271bfe /files/it/web/javascript/reference/operators/in | |
| parent | 1109132f09d75da9a28b649c7677bb6ce07c40c0 (diff) | |
| download | translated-content-da78a9e329e272dedb2400b79a3bdeebff387d47.tar.gz translated-content-da78a9e329e272dedb2400b79a3bdeebff387d47.tar.bz2 translated-content-da78a9e329e272dedb2400b79a3bdeebff387d47.zip | |
initial commit
Diffstat (limited to 'files/it/web/javascript/reference/operators/in')
| -rw-r--r-- | files/it/web/javascript/reference/operators/in/index.html | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/files/it/web/javascript/reference/operators/in/index.html b/files/it/web/javascript/reference/operators/in/index.html new file mode 100644 index 0000000000..d6dcb196de --- /dev/null +++ b/files/it/web/javascript/reference/operators/in/index.html @@ -0,0 +1,198 @@ +--- +title: operatore in +slug: Web/JavaScript/Reference/Operators/in +tags: + - JavaScript + - Operatori + - Operatori Relazionali +translation_of: Web/JavaScript/Reference/Operators/in +--- +<div>{{jsSidebar("Operators")}}</div> + +<p>L' operatore <strong><code>in</code> </strong>dà come ritorno <code>true</code> se la proprietà specificata si trova nell'oggetto preso in considerazione.</p> + +<p>Restituisce <code>false</code> se la proprietà è stata eliminata tramite <code>delete</code> ma non nel caso in cui sia stata inizializzata <code>undefined</code> dal programmatore.</p> + +<h2 id="Sintassi">Sintassi</h2> + +<pre class="syntaxbox"><em>prop</em> in <em>nomeOggetto</em></pre> + +<h3 id="Parametri">Parametri</h3> + +<dl> + <dt><code>prop</code></dt> + <dd>Una stringa o simbolo che rappresenta il nome di una proprietà o indice di un array (i non-simboli verranno automaticamente convertiti in stringhe).</dd> +</dl> + +<dl> + <dt><code>nomeOggetto</code></dt> + <dd>Nome di un oggetto.</dd> +</dl> + +<h2 id="Descrizione">Descrizione</h2> + +<p>I seguenti esempi mostrano alcuni usi dell'operatore <code>in</code>.</p> + +<pre class="brush:js">// Array +var alberi = ["sequoia", "lauro", "cedro", "quercia", "acero"]; +0 in alberi // ritorna true +3 in alberi // ritorna true +6 in alberi // ritorna false, non ci sono proprietà in quell'indice su <em>alberi</em> +"bay" in alberi // ritorna false (devi specificare il + // numero dell'indice, non il valore corrispondente a quell'indice) +"length" in alberi // ritorna true (length è una proprietà degli array) +Symbol.iterator in alberi // ritorna true (gli array sono iterabili, funziona solo in ES6+) + +// Oggetti predefiniti +"PI" in Math // ritorna true, "PI" è il nome di una proprietà dell'oggetto Math + +// Oggetti personalizzati +var miaAuto = {marca: "Honda", modello: "Accord", anno: 1998}; +"marca" in miaAuto // ritorna true +"modello" in miaAuto // ritorna true +</pre> + +<p>Devi specificare un oggetto sul lato destro dell'operatore <code>in</code>. Per esempio, puoi specificare una stringa creata con il costruttore String, ma non puoi specificare una stringa literal.</p> + +<pre class="brush:js">var colore1 = new String("verde"); +"length" in colore1 // ritorna true + +var color2 = "coral"; +// genera un errore (colore2 non è un oggetto String) +"length" in colore2 +</pre> + +<h3 id="Usare_l'operatore_in_con_le_proprietà_deleted_o_undefined">Usare l'operatore <code>in</code> con le proprietà deleted o undefined</h3> + +<p>Se elimini una proprietà con l'operatore <code><a href="/en-US/docs/Web/JavaScript/Reference/Operators/delete" title="en-US/docs/JavaScript/Reference/Operators/Special/delete">delete</a></code>, l'operatore in ritorna <code>false</code> per quella proprietà.</p> + +<pre class="brush:js">var miaAuto = {marca: "Honda", modello: "Accord", anno: 1998}; +delete miaAuto.marca; +"marca" in miaAuto; // ritorna false + +var alberi = new Array("sequoia", "lauro", "cedro", "quercia", "acero"); +delete alberi[3]; +3 in alberti; // ritorna false +</pre> + +<p>Se setti una proprietà ad {{jsxref("Global_Objects/undefined", "undefined")}} ma non la cancelli, l'operatore <code>in</code> darà come ritorno true per quella proprietà.</p> + +<pre class="brush:js">var miaAuto = {marca: "Honda", modello: "Accord", anno: 1998}; +miaAuto.marca = undefined; //inizializzo manualmente la proprietà '<em>marca'</em> undefined +"marca" in miaAuto; // ritorna true, non è stato usato usato delete sulla proprietà +delete miaAuto.marca; +"marca" in miaAuto // return false, è stata eliminata la proprietà</pre> + +<p> </p> + +<p> </p> + +<p> </p> + +<pre class="brush:js">var alberi = new Array("sequoia", "lauro", "cedro", "quercia", "acero"); +alberi[3] = undefined; +3 in alberi; // ritorna true +</pre> + +<h3 id="Proprietà_ereditate">Proprietà ereditate</h3> + +<p>L'operatore <code>in</code> ritorna <code>true</code> per proprietà ereditate tramite prototipi.</p> + +<pre class="brush:js">"toString" in {}; // returns true +</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('ESDraft', '#sec-relational-operators', 'Relational Operators')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-relational-operators', 'Relational Operators')}}</td> + <td>{{Spec2('ES6')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES5.1', '#sec-11.8.7', 'The in Operator')}}</td> + <td>{{Spec2('ES5.1')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES3', '#sec-11.8.7', 'The in Operator')}}</td> + <td>{{Spec2('ES3')}}</td> + <td>Definizione iniziale. Implementato in JavaScript 1.4.</td> + </tr> + </tbody> +</table> + +<h2 id="Compatibilità_con_i_browser">Compatibilità con i browser</h2> + +<p>{{CompatibilityTable}}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Edge</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</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>Basic support</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<h2 id="Vedi_anche">Vedi anche</h2> + +<ul> + <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...in">for...in</a></code></li> + <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Operators/delete" title="en-US/docs/JavaScript/Reference/Operators/Special/delete">delete</a></code></li> + <li>{{jsxref("Object.prototype.hasOwnProperty()")}}</li> + <li>{{jsxref("Reflect.has()")}}</li> + <li><a href="/en-US/docs/Enumerability_and_ownership_of_properties" title="/en-US/docs/Enumerability_and_ownership_of_properties">Enumerability and ownership of properties</a></li> +</ul> |
