diff options
Diffstat (limited to 'files/it/conflicting/web/javascript/reference/operators/index.html')
-rw-r--r-- | files/it/conflicting/web/javascript/reference/operators/index.html | 293 |
1 files changed, 293 insertions, 0 deletions
diff --git a/files/it/conflicting/web/javascript/reference/operators/index.html b/files/it/conflicting/web/javascript/reference/operators/index.html new file mode 100644 index 0000000000..abaafab2fd --- /dev/null +++ b/files/it/conflicting/web/javascript/reference/operators/index.html @@ -0,0 +1,293 @@ +--- +title: Operatori Aritmetici +slug: conflicting/Web/JavaScript/Reference/Operators +tags: + - JavaScript + - Operatori + - Operatori Aritmetici +translation_of: Web/JavaScript/Reference/Operators +translation_of_original: Web/JavaScript/Reference/Operators/Arithmetic_Operators +original_slug: Web/JavaScript/Reference/Operators/Operatori_Aritmetici +--- +<div>{{jsSidebar("Operators")}}</div> + +<div>Gli <strong>operatori aritmetici</strong> lavorano su operandi numerici (sia letterali che variabili) e ritornano un singolo valore numerico. Gli operatori aritmetici standard sono l'addizione (+), la sottrazione (-), la moltiplicazione (*) e la divisione (/).</div> + +<h2 id="Addizione_()"><a name="Addition">Addizione (+)</a></h2> + +<p>L'operazione di addizione produce la somma di operandi numerici o la concatenzione di stringhe.</p> + +<h3 id="Sintassi">Sintassi</h3> + +<pre class="syntaxbox"><strong>Operatore:</strong> x + y +</pre> + +<h3 id="Esempi">Esempi</h3> + +<pre class="brush: js">// Numero + Numero -> addizione +1 + 2 // 3 + +// Booleano + Numero -> addizione +true + 1 // 2 + +// Booleano + Booleano -> additione +false + false // 0 + +// Numero + Stringa -> concatenazione +5 + "foo" // "5foo" + +// Stringa + Booleano -> concatenazione +"foo" + false // "foofalse" + +// Stringa + Stringa -> concatenazione +"foo" + "bar" // "foobar" +</pre> + +<h2 id="Sottrazione_(-)"><a name="Subtraction">Sottrazione (-)</a></h2> + +<p>L'operatore di sottrazione fa la sottrazione dei due operandi e produce la loro differenza.</p> + +<h3 id="Sintassi_2">Sintassi</h3> + +<pre class="syntaxbox"><strong>Operatore:</strong> x - y +</pre> + +<h3 id="Esempi_2">Esempi</h3> + +<pre class="brush: js">5 - 3 // 2 +3 - 5 // -2 +"foo" - 3 // NaN</pre> + +<h2 id="Divisione_()"><a name="Division">Divisione (/)</a></h2> + +<p>L'operatore di divisione produce il quoziente dei suoi operandi dove l'operando di sinistra è il dividendo e l'operando di destra è il divisore.</p> + +<h3 id="Sintassi_3">Sintassi</h3> + +<pre class="syntaxbox"><strong>Operatore:</strong> x / y +</pre> + +<h3 id="Esempi_3">Esempi</h3> + +<pre class="brush: js">1 / 2 // restituisce 0.5 in JavaScript +1 / 2 // restituisce 0 in Java +// (nessuno degli operandi è un numero in virgola mobile esplicito) + +1.0 / 2.0 // restituisce 0.5 in both JavaScript and Java + +2.0 / 0 // restituisce Infinity in JavaScript +2.0 / 0.0 // restituisce Infinity too +2.0 / -0.0 // restituisce -Infinity in JavaScript</pre> + +<h2 id="Moltiplicazione_(*)"><a name="Multiplication">Moltiplicazione (*)</a></h2> + +<p>The multiplication operator produces the product of the operands.</p> + +<h3 id="Sintassi_4">Sintassi</h3> + +<pre class="syntaxbox"><strong>Operatore:</strong> x * y +</pre> + +<h3 id="Esempi_4">Esempi</h3> + +<pre class="brush: js">2 * 2 // 4 +-2 * 2 // -4 +Infinity * 0 // NaN +Infinity * Infinity // Infinity +"foo" * 2 // NaN +</pre> + +<h2 id="Resto_()"><a name="Remainder">Resto (%)</a></h2> + +<p>L'operatore Resto o Modulo restituisce il “resto“ rimasto quando un operando viene diviso per un secondo operando. Calcola il resto della divisione fra il primo e il secondo operando. Porta sempre il segno del dividendo.</p> + +<h3 id="Sintassi_5">Sintassi</h3> + +<pre class="syntaxbox"><strong>Operatore:</strong> var1 % var2 +</pre> + +<h3 id="Esempi_5">Esempi</h3> + +<pre class="brush: js">12 % 5 // 2 +-1 % 2 // -1 +NaN % 2 // NaN +1 % 2 // 1 +2 % 3 // 2 +-4 % 2 // -0 +</pre> + +<h2 id="Esponente_(**)"><a name="Exponentiation">Esponente (**)</a></h2> + +<p><strong>L'operatore Esponente o esponenziale in JavaScript. </strong>Una delle funzionalità di questa versione è l'operatore di esponenziazione. Esponente restituisce il risultato dell'elevamento a potenza dal primo operando al secondo. Cioè <code>var1</code> <code>var2</code> , <code>var2.</code> <code>var1</code>e <code>var2</code> sono variabili. L'operatore Esponente ha ragione associativa. <code>a ** b ** c</code> equivale a <code>a ** (b ** c)</code>.</p> + +<h3 id="Sintassi_6">Sintassi</h3> + +<pre class="syntaxbox"><strong>Operatore:</strong> var1 ** var2 +</pre> + +<h3 id="Note">Note</h3> + +<p>Nella maggior parte dei linguaggi come PHP e Python e altri che usano l'operatore Esponente (**), ha precedenza rispetto agli altri operatori unari come + e -, salvo in alcune eccezioni. Ad esempio, in Bash l'operatore ** ha una minor importanza rispetto agli operatori unari. In JavaScript, è impossibile scrivere un'espressione Esponente ambigua, ovvero non è possibile inserire un operatore unario ( <code>+/-/~/!/delete/void/typeof</code> ) immediatamente prima del numero di base. Il calcolo della potenza può essere espresso più sinteticamente usando la notazione infissa. Simile ad altri linguaggi come Python o F#, <code>**</code> è usato per indicare l'operatore. </p> + +<pre class="brush: js">-2 ** 2 // equals 4 in ES2016 or in Bash, equals -4 in other languages.</pre> + +<p>Accetta base sul lato sinistro ed esponente sul lato destro, rispettivamente.</p> + +<pre class="brush: js">let value = 5; value **= 2; // value: 25 +</pre> + +<h3 id="Esempi_6">Esempi</h3> + +<pre class="brush: js">2 ** 3 // 8 +3 ** 2 // 9 +3 ** 2.5 // 15.588457268119896 +10 ** -1 // 0.1 +NaN ** 2 // NaN + +2 ** 3 ** 2 // 512 +2 ** (3 ** 2) // 512 +(2 ** 3) ** 2 // 64 + +var a = 3; +var b = a ** 3; +alert("3x3x3 is = " + b); // 27 +</pre> + +<p>Per invertire il segno del risultato di un'espressione di Esponente:</p> + +<pre><code>-(2 ** 2) // -4</code> +</pre> + +<p>Per forzare la base di un'espressione di Esponente ad essere un numero negativo:</p> + +<pre><code>(-2) ** 2 // 4 </code></pre> + +<h2 id="Incremento_()"><a name="Increment">Incremento (++)</a></h2> + +<p>L'operatore di incremento incrementa (aggiunge uno a) il suo operando e restituisce un valore.</p> + +<ul> + <li>Se usato in post posizione, con operatore dopo operando (ad esempio, x ++), restituisce il valore prima di incrementare.</li> + <li>Se usato come prefisso quindi prima dell'operando (ad esempio, ++ x), restituisce il valore dopo l'incremento.</li> +</ul> + +<h3 id="Sintassi_7">Sintassi</h3> + +<pre class="syntaxbox"><strong>Operatore:</strong> x++ or ++x +</pre> + +<h3 id="Esempi_7">Esempi</h3> + +<pre class="brush: js">// Postfix // post posizione +var x = 3; +y = x++; // y = 3, x = 4 + +// Prefix // Prefisso +var a = 2; +b = ++a; // a = 3, b = 3 +</pre> + +<h2 id="Decremento_(--)"><a name="Decrement">Decremento (--)</a></h2> + +<p>L'operatore decrementa decrementa (sottrae uno da) il suo operando e restituisce un valore.</p> + +<ul> + <li>Se usato in post posizione (ad esempio x--), restituisce il valore prima di decrementare.</li> + <li>Se usato come prefisso (ad esempio, --x), restituisce il valore dopo la decrementazione.</li> +</ul> + +<h3 id="Sintassi_8">Sintassi</h3> + +<pre class="syntaxbox"><strong>Operatore:</strong> x-- or --x +</pre> + +<h3 id="Esempi_8">Esempi</h3> + +<pre class="brush: js">// Postfix // post posizione +var x = 3; +y = x--; // y = 3, x = 2 + +// Prefix // Prefisso +var a = 2; +b = --a; // a = 1, b = 1 +</pre> + +<h2 id="Negazione_unaria_(-)"><a name="Unary_negation">Negazione unaria (-)</a></h2> + +<p>L'operatore di negazione unario precede il suo operando e lo nega.</p> + +<h3 id="Sintassi_9">Sintassi</h3> + +<pre class="syntaxbox"><strong>Operatore:</strong> -x +</pre> + +<h3 id="Esempi_9">Esempi</h3> + +<pre><code>var x = 3; +y = -x; // y = -3, x = 3 + +//</code>L'operatore di negazione unario può convertire numeri diversi in un numero<code> +var x = "4"; +y = -x; // y = -4</code></pre> + +<h2 id="Unario_più_()"><a name="Unary_plus">Unario più</a> (+)</h2> + +<p>L'operatore unario più precede il suo operando e valuta il suo operando, ma tenta di convertirlo in un numero, se non lo è già. Anche se la negazione unaria (-) può anche convertire non numeri, unario è il modo più veloce e preferito per convertire qualcosa in un numero, perché non esegue altre operazioni sul numero. È in grado di convertire rappresentazioni di stringa di numeri interi e float, oltre ai valori non stringa <code>true</code> , <code>false</code> e <code>null</code> . Sono supportati i numeri interi decimali ed esadecimali ("0x" -prefixed). I numeri negativi sono supportati (sebbene non per hex). Se non può analizzare un valore particolare, valuterà in <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN">NaN</a>.</p> + +<h3 id="Sintassi_10">Sintassi</h3> + +<pre class="syntaxbox"><strong>Operatore:</strong> +x +</pre> + +<h3 id="Esempi_10">Esempi</h3> + +<pre><code>+3 // 3 ++'3' // 3 ++true // 1 ++false // 0 ++null // 0 ++function(val){ return val } // NaN</code></pre> + +<h2 id="Specificazioni">Specificazioni</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specificazioni</th> + <th scope="col">Stato</th> + <th scope="col">Commento</th> + </tr> + <tr> + <td>ECMAScript 1st Edition.</td> + <td>Standard</td> + <td>Definizione iniziale.</td> + </tr> + <tr> + <td>{{SpecName('ES5.1', '#sec-11.3')}}</td> + <td>{{Spec2('ES5.1')}}</td> + <td>Definito in diverse sezioni della specifica: <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.6">Additive operators</a>, <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.5">Multiplicative operators</a>, <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.3">Postfix expressions</a>, <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.4">Unary operators</a>.</td> + </tr> + <tr> + <td>{{SpecName('ES2015', '#sec-postfix-expressions')}}</td> + <td>{{Spec2('ES2015')}}</td> + <td>Definito in diverse sezioni della specifica: <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-additive-operators">Additive operators</a>, <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-multiplicative-operators">Multiplicative operators</a>, <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-postfix-expressions">Postfix expressions</a>, <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-unary-operators">Unary operators</a>.</td> + </tr> + <tr> + <td>{{SpecName('ES2016', '#sec-postfix-expressions')}}</td> + <td>{{Spec2('ES2016')}}</td> + <td>Aggiunto <a href="https://github.com/rwaldron/exponentiation-operator">Exponentiation operator</a>.</td> + </tr> + </tbody> +</table> + +<h2 id="Compatibilità_con_i_browser">Compatibilità con i browser</h2> + + + +<p>{{Compat("javascript.operators.arithmetic")}}</p> + +<h2 id="Guarda_anche">Guarda anche</h2> + +<ul> + <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Assignment_Operators">Assignment operators</a></li> +</ul> |