Skip to Content
Le documentazioni sono in costruzione, puoi utilizzare la navigazione sulla sinistra come roadmap per monitorare i tuoi progressi. Grazie!
06 OperatoriOperatori logici

Operatori logici

Gli operatori logici in JavaScript permettono di combinare o invertire valori booleani (true / false) per costruire condizioni complesse. Sono fondamentali per il controllo del flusso (if, while, for, return) e per la gestione delle espressioni condizionali.

In JavaScript, questi operatori non lavorano solo con booleani, ma con valori “truthy” e “falsy”, restituendo uno degli operandi originali.


Valori truthy e falsy

JavaScript considera come false i seguenti valori:

false; 0 - 0; 0n; (""); null; undefined; NaN;

Tutti gli altri valori sono considerati truthy.


AND logico (&&)

Restituisce il primo valore falsy oppure l’ultimo valore se tutti sono truthy.

true && true; // true true && false; // false

Con valori non booleani:

"a" && 10; // 10 0 && "ciao"; // 0

Uso tipico:

if (user && user.isAdmin) { console.log("Accesso consentito"); }

Oppure come controllo rapido:

isLogged && showDashboard();

OR logico (||)

Restituisce il primo valore truthy oppure l’ultimo se tutti sono falsy.

true || false; // true false || false; // false

Con valori non booleani:

"" || "default"; // "default" 0 || 100; // 100 null || "valore"; // "valore"

Uso comune per valori di fallback:

const nome = input || "Utente";

NOT logico (!)

Inverte il valore booleano.

!true; // false !false; // true

Con valori non booleani:

!0; // true !"ciao"; // false

Doppia negazione per forzare un booleano:

!!"test"; // true !!0; // false

Short-circuit evaluation

Gli operatori && e || interrompono la valutazione non appena il risultato è determinabile.

false && funzione(); // funzione() non viene eseguita true || funzione(); // funzione() non viene eseguita

Questo comportamento è molto usato per eseguire codice in modo condizionale.


Combinazioni di operatori

if (isOnline && (isAdmin || isModerator)) { console.log("Accesso autorizzato"); }

Differenza tra operatori logici e booleani puri

In JavaScript:

"test" && 5; // 5 null || "ciao"; // "ciao"

Non viene restituito true o false, ma uno degli operandi originali.


Operatore logico nullish (??) (cenno)

A differenza di ||, considera solo null e undefined come valori nulli:

0 || 10; // 10 0 ?? 10; // 0

Precedenza degli operatori logici

OperatorePrecedenza
!Alta
&&Media
``Bassa

Esempio:

true || (false && false); // equivale a: true || (false && false)

OperatoreNomeComportamento
&&ANDRestituisce il primo falsy o l’ultimo valore
||ORRestituisce il primo truthy o l’ultimo valore
!NOTInverte il valore
!!Boolean castConverte in true/false

Gli operatori logici sono uno strumento centrale per scrivere condizioni leggibili, controllare flussi e creare logiche compatte e performanti in JavaScript.

Aggiornato il