Aritmetica JavaScript

La situazione tipica di elaborazione dei numeri è l'aritmetica.

Operatori aritmetici JavaScript

Gli operatori aritmetici eseguono operazioni aritmetiche sui numeri (testuali o variabili).

operatore descrizione
+ Addizione
- Sottrazione
* Moltiplicazione
** Potenza(ES2016
/ Divisione
% Coeficiente
++ Incremento
-- Decremento

Operatore aritmetico

Operazioni aritmetiche tipiche operano su due numeri.

Questi numeri possono essere literals:

istanza

var x = 7 + 8;

prova da solo

O variabile:

istanza

var x = a + b;

prova da solo

O espressione:

istanza

var x = (7 + 8) * a;

prova da solo

Operatore e operando

In operazioni aritmetiche, i numeri sono chiamatiOperando.

L'operazione(eseguita tra due operandi)è definita daoperatoreDefinizione.

Operando operatore Operando
7 + 8

Addizione

AddizioneOperatore(+)Addendo:

var x = 7;
var y = 8;
var z = x + y; 

prova da solo

Sottrazione

SottrazioneOperatore(-)Sottraneo.

var x = 7;
var y = 8;
var z = x - y; 

prova da solo

Moltiplicazione

MoltiplicazioneOperatore(*)Moltiplicatore.

var x = 7;
var y = 8;
var z = x * y; 

prova da solo

Divisione

DivisioneOperatore(/)Divisore.

var x = 7;
var y = 2;
var z = x / y; 

prova da solo

Coeficiente

CoeficienteOperatore(%)Restituisce il resto della divisione.

var x = 7;
var y = 2;
var z = x % y; 

prova da solo

Nota:Nell'aritmetica, la divisione di due numeri interi produce un quoziente e un resto.

Nota:In matematica, il risultato dell'operazione mod è il resto della divisione aritmetica.

Incremento

IncrementoOperatore(++)Incrementa il valore numerico.

var x = 7;
x++;
var z = x;

prova da solo

Decremento

DecrementoOperatore(--)Decrementa il valore numerico.

var x = 7;
x--;
var z = x; 

prova da solo

Potenza

L'operatore di potenza(**)eleva il primo operando alla potenza del secondo operando.

istanza

var x = 5;
var z = x ** 2;          // Il risultato è 25

prova da solo

Il risultato di x ** y è lo stesso di Math.pow(x,y):

istanza

var x = 5;
var z = Math.pow(x,2);   // Il risultato è 25

prova da solo

Priorità degli operatori

La priorità degli operatori (Operator precedence) descrive l'ordine delle operazioni eseguite negli espressioni aritmetiche.

istanza

var x = 200 + 50 * 2;

prova da solo

Il risultato dell'esempio è 250 * 2 o 200 + 100?

Ha la priorità l'addizione o la moltiplicazione?

Nella matematica scolastica tradizionale, la moltiplicazione ha la priorità.

moltiplicazione (*)) e divisione (%)) e addizione (+)) e sottrazione (-)) ha una priorità più altapriorità.

Allo stesso tempo, come nella matematica scolastica, è possibile modificare la priorità utilizzando parentesi:

istanza

var x = (200 + 50) * 2;

prova da solo

Quando si utilizzano parentesi, gli operatori all'interno delle parentesi vengono calcolati prima.

Quando più operazioni hanno la stessa priorità (ad esempio, addizione e sottrazione), la loro calcolazione è da sinistra a destra:

istanza

var x = 200 + 50 - 2;

prova da solo

valore di priorità degli operatori JavaScript

valore operatore descrizione istanza
20 ( ) gruppo di espressione (3 + 4)
       
19 . membro person.name
19 [] membro person["name"]
19 () chiamata di funzione myFunction()
19 new creazione new Date()
       
17 ++ incremento postfisso i++
17 -- decremento postfisso i--
       
16 ++ incremento prefisso ++i
16 -- decremento prefisso --i
16 ! Negazione logica !(x==y)
16 typeof tipo typeof x
       
15 ** potenza (ES7) 10 ** 2
       
14 * moltiplicazione 10 * 5
14 / divisione 10 / 5
14 % divisione modulo 10 % 5
       
13 + aggiunta 10 + 5
13 - sottrazione 10 - 5
       
12 << spostamento a sinistra x << 2
12 >> spostamento a destra x >> 2
12 >>> spostamento a destra (senza segno) x >>> 2
       
11 < minore x < y
11 <= minore o uguale x <= y
11 > maggiore x > y
11 >= maggiore o uguale x >= y
11 in proprietà dell'oggetto "PI" in Math
11 istanza di istanza dell'oggetto istanza di Array
       
10 == uguale x == y
10 === uguale x === y
10 != Non uguale x != y
10 !== Non uguale strettamente x !== y
       
9 & E bit a bit x & y
8 ^ XOR bit a bit x ^ y
7 | O bit a bit x | y
6 && Congiunzione logica x && y
5 || Negazione logica x || y
4 ? : Condizionale ? "Sì" : "No"
       
3 = Assegnamento x = y
3 += Assegnamento x += y
3 -= Assegnamento x -= y
3 *= Assegnamento x *= y
3 %= Assegnamento x %= y
3 <<= Assegnamento x <<= y
3 >>= Assegnamento x >>= y
3 >>>= Assegnamento x >>>= y
3 &= Assegnamento x &= y
3 ^= Assegnamento x ^= y
3 |= Assegnamento x |= y
       
2 yield Funzione di pausa yield x
1 , Virgola 7, 8

Attenzione:Rosso pallido indica tecnologie sperimentali o suggerite (ECMASScript 2016 o ES7)

Suggerimento:L'espressione tra parentesi viene calcolata completamente prima di essere utilizzata nel resto dell'espressione.