Lezioni del modulo (3/4)
Operatori
Gli operatori sono i segni di punteggiatura del linguaggio: prendono uno o più valori e ne producono uno nuovo. JavaScript ne ha decine; in questa lezione vediamo le tre famiglie più comuni — aritmetici, di confronto, logici — e impariamo a leggerne la priorità.
Aritmetici
2 + 3; // 5
10 - 4; // 6
6 * 7; // 42
20 / 4; // 5
17 % 5; // 2 ← resto della divisione (modulo)
2 ** 10; // 1024 ← elevamento a potenzaL'operatore % (modulo) restituisce il resto della divisione intera ed è
utilissimo: lo userai per capire se un numero è pari (n % 2 === 0), per
ruotare indici, per formattare orari.
Priorità e parentesi
Come in matematica, * e / hanno priorità più alta di + e -. Quando il
calcolo non è ovvio, usa le parentesi: rendono l'intenzione esplicita e
ti proteggono dai bug:
2 + 3 * 4; // 14 ← prima il prodotto
(2 + 3) * 4; // 20 ← prima la somma, grazie alle parentesiConfronto
3 === 3; // true
3 === '3'; // false ← stesso "valore", tipi diversi
3 !== '3'; // true
5 > 3; // true
5 >= 5; // trueLogici
true && false; // false ← AND: vero solo se entrambi sono veri
true || false; // true ← OR: vero se almeno uno è vero
!true; // false ← NOT: inverteSia && sia || sono a corto circuito: smettono di valutare appena il
risultato è determinato. Questa proprietà è alla base di pattern come:
const nome = utente?.nome || 'Anonimo';
// se utente.nome è "falsy", usa 'Anonimo'Prova tu
Calcola il valore di (8 + 4) elevato alla 2, diviso per 6. L'ultima espressione deve restituire 24.
Mostra suggerimento
Le parentesi forzano la somma prima dell'elevamento; ** è l'elevamento a potenza.
Soluzione disponibile dopo 3 tentativi
Esercizio di ripasso
Scrivi una sola espressione che restituisce `true` solo se 7 è strettamente uguale a 7 (anche di tipo) E al tempo stesso 5 è minore di 10.
Mostra suggerimento
Combina due confronti con && (AND logico).
Soluzione disponibile dopo 3 tentativi