Operatori di assegnazione
Gli operatori di assegnazione in JavaScript servono per assegnare un valore a una variabile.
Oltre all’operatore base =, esistono molte varianti che permettono di combinare un’operazione e un’assegnazione in un’unica istruzione, rendendo il codice più compatto e leggibile.
Operatore di assegnazione semplice (=)
Assegna il valore a destra alla variabile a sinistra.
let x = 10;
let nome = "Mario";
let attivo = true;Operatori di assegnazione con operazione
Questi operatori eseguono prima un’operazione, poi assegnano il risultato alla variabile.
| Operatore | Significato | Equivalente a |
|---|---|---|
+= | Addizione | x = x + y |
-= | Sottrazione | x = x - y |
*= | Moltiplicazione | x = x * y |
/= | Divisione | x = x / y |
%= | Modulo (resto) | x = x % y |
**= | Potenza | x = x ** y |
Esempi
let x = 10;
x += 5; // 15
x -= 3; // 12
x *= 2; // 24
x /= 4; // 6
x %= 4; // 2
x **= 3; // 8Operatori di assegnazione bitwise
Applicano un’operazione bitwise prima di assegnare.
| Operatore | Significato | Equivalente a | ||
|---|---|---|---|---|
&= | AND bitwise | x = x & y | ||
| ` | =` | OR bitwise | `x = x | y` |
^= | XOR bitwise | x = x ^ y | ||
<<= | Shift a sinistra | x = x << y | ||
>>= | Shift a destra | x = x >> y | ||
>>>= | Shift a destra senza segno | x = x >>> y |
Esempio
let flags = 5; // 0101
flags |= 2; // 0111 → 7Operatori di assegnazione logici (ES2021+)
Consentono di assegnare un valore solo se una condizione è vera.
| Operatore | Comportamento | ||
|---|---|---|---|
| ` | =` | Assegna se il valore è falsy | |
&&= | Assegna se il valore è truthy | ||
??= | Assegna se il valore è null o undefined |
Esempi
let nome = "";
nome ||= "Ospite"; // "Ospite"
let attivo = true;
attivo &&= false; // false
let colore = null;
colore ??= "blu"; // "blu"Assegnazione destrutturata
Permette di estrarre valori da array o oggetti e assegnarli a variabili.
Array
const [a, b] = [10, 20];Oggetti
const user = { nome: "Luca", eta: 30 };
const { nome, eta } = user;Assegnazione concatenata
L’assegnazione in JavaScript restituisce il valore assegnato, quindi può essere concatenata.
let a, b, c;
a = b = c = 10;Differenza tra = e == / ===
| Operatore | Funzione |
|---|---|
= | Assegna un valore |
== | Confronto con conversione di tipo |
=== | Confronto senza conversione |
let x = 5; // assegnazione
x == "5"; // true
x === "5"; // falseBuone pratiche
- Preferisci gli operatori composti (
+=,??=, ecc.) per codice più pulito. - Usa
??=invece di||=quando vuoi evitare falsi positivi con0,""ofalse. - Evita assegnazioni complesse su una sola riga se compromettono la leggibilità.
Gli operatori di assegnazione sono fondamentali per la gestione dello stato delle variabili. Usarli correttamente rende il codice più espressivo, compatto e leggibile.