JavaScript aritmetica
Operatori aritmetici JavaScript
Gli operatori aritmetici eseguono operazioni aritmetiche sui numeri (letterali o variabili).
Operator | Description |
---|---|
+ | Addition |
- | Subtraction |
* | Multiplication |
** | Exponentiation (ES2016) |
/ | Division |
% | Modulus (Remainder) |
++ | Increment |
-- | Decrement |
Operazioni aritmetiche
Una tipica operazione aritmetica opera su due numeri.
I due numeri possono essere letterali:
Esempio
let x = 100 + 50;
o variabili:
Esempio
let x = a + b;
o espressioni:
Esempio
let x = (100 + 50) * a;
Operatori e operandi
I numeri (in un'operazione aritmetica) sono chiamati operandi .
L'operazione (da eseguire tra i due operandi) è definita da un operatore .
operando | Operatore | operando |
---|---|---|
100 | + | 50 |
Aggiunta
L' operatore di addizione+
( ) aggiunge i numeri:
Esempio
let x = 5;
let y = 2;
let z = x + y;
Sottrazione
L' operatore di sottrazione-
( ) sottrae i numeri.
Esempio
let x = 5;
let y = 2;
let z = x - y;
Moltiplicando
L' operatore di moltiplicazione*
( ) moltiplica i numeri.
Esempio
let x = 5;
let y = 2;
let z = x * y;
Dividendo
L' operatore di divisione/
( ) divide i numeri.
Esempio
let x = 5;
let y = 2;
let z = x / y;
Resto
L' operatore modulo%
( ) restituisce il resto della divisione.
Esempio
let x = 5;
let y = 2;
let z = x % y;
In aritmetica, la divisione di due interi produce un quoziente e un resto .
In matematica, il risultato di un'operazione modulo è il resto di una divisione aritmetica.
Incremento
L' operatore di incremento++
( ) incrementa i numeri.
Esempio
let x = 5;
x++;
let z = x;
Decremento
L' operatore di decremento--
( ) decrementa i numeri.
Esempio
let x = 5;
x--;
let z = x;
Esponenziale
L' operatore di esponenziazione**
( ) eleva il primo operando alla potenza del secondo operando.
Esempio
let x = 5;
let z =
x ** 2; // result is 25
x ** y produce lo stesso risultato di Math.pow(x,y)
:
Esempio
let x = 5;
let z =
Math.pow(x,2); // result is 25
Precedenza dell'operatore
La precedenza dell'operatore descrive l'ordine in cui le operazioni vengono eseguite in un'espressione aritmetica.
Esempio
let x = 100 + 50 * 3;
Il risultato dell'esempio sopra è uguale a 150 * 3 o è uguale a 100 + 150?
Si fa prima l'addizione o la moltiplicazione?
Come nella matematica scolastica tradizionale, la moltiplicazione viene eseguita prima.
La moltiplicazione ( *
) e la divisione ( /
) hanno una precedenza maggiore rispetto all'addizione ( +
) e alla sottrazione ( -
).
E (come nella matematica scolastica) la precedenza può essere modificata usando le parentesi:
Esempio
let x = (100 + 50) * 3;
Quando si usano le parentesi, le operazioni all'interno delle parentesi vengono calcolate per prime.
Quando molte operazioni hanno la stessa precedenza (come addizione e sottrazione), vengono calcolate da sinistra a destra:
Esempio
let x = 100 + 50 - 3;
Valori di precedenza dell'operatore JavaScript
Le voci rosso chiaro indicano ECMAScript 2015 (ES6) o versioni successive.
Valore | Operatore | Descrizione | Esempio |
---|---|---|---|
21 | ( ) | Raggruppamento di espressioni | (3 + 4) |
20 | . | Membro | nome.persona |
20 | [] | Membro | persona["nome"] |
20 | () | Chiamata di funzione | miaFunzione() |
20 | nuovo | Creare | nuova data() |
18 | ++ | Incremento postfisso | io++ |
18 | -- | Decremento suffisso | io-- |
17 | ++ | Incremento del prefisso | ++io |
17 | -- | Decremento del prefisso | --io |
17 | ! | Logico no | !(x==y) |
17 | tipo di | Tipo | tipo di x |
16 | ** | Esponenziazione (ES2016) | 10 ** 2 |
15 | * | Moltiplicazione | 10 * 5 |
15 | / | Divisione | 10 / 5 |
15 | % | Resto di divisione | 10 % 5 |
14 | + | Aggiunta | 10+5 |
14 | - | Sottrazione | 10 - 5 |
13 | << | Sposta a sinistra | x << 2 |
13 | >> | Sposta a destra | x >> 2 |
13 | >>> | Maiusc a destra (senza segno) | x >>> 2 |
12 | < | Meno di | x < y |
12 | <= | Minore o uguale | x <= y |
12 | > | Più grande di | x > y |
12 | >= | Maggiore o uguale | x >= y |
12 | in | Proprietà in oggetto | "PI" in matematica |
12 | istanza di | Istanza di oggetto | istanza di Array |
11 | == | Pari | x == y |
11 | === | Stretto uguale | x === y |
11 | != | Disuguale | x!= y |
11 | !== | Rigoroso disuguale | x !== y |
10 | & | bit a bit E | x e y |
9 | ^ | XOR bit a bit | x ^ y |
8 | | | OR bit a bit | x | Y |
7 | && | E logico | x && y |
6 | || | OR logico | x || Y |
5 | ?? | Coalescenza nulla | X?? Y |
4 | ? : | Condizione | ? "Si No" |
3 | += | Incarico | x += y |
3 | /= | Incarico | x /= y |
3 | -= | Incarico | x -= y |
3 | *= | Incarico | x *= y |
3 | %= | Incarico | x %= y |
3 | <<= | Incarico | x <<= y |
3 | >>= | Incarico | x >>= y |
3 | >>>= | Incarico | x >>>= y |
3 | &= | Incarico | x &= y |
3 | ^= | Incarico | x ^= y |
3 | |= | Incarico | x |= y |
2 | prodotto | Funzione di pausa | resa x |
1 | , | Virgola | 5, 6 |
Le espressioni tra parentesi vengono calcolate completamente prima che il valore venga utilizzato nel resto dell'espressione.