Valori booleani in Javascript
- I valori booleani in Javascript rappresentano due stati: vero (
true
) e falso (false
). - I valori booleani sono il risultato di confronti tra valori e sono comunemente usati nelle strutture di controllo del flusso del programma.
- I valori booleani possono essere utilizzati in espressioni logiche e condizionali per determinare il flusso di esecuzione del codice.
- I valori booleani hanno metodi come
toString()
per convertirli in stringhe, ma non hanno altri metodi utili. - Gli operatori booleani principali in Javascript sono
&&
(AND),||
(OR) e!
(NOT). - I valori falsy in Javascript includono
undefined
,null
,0
,-0
,NaN
, e la stringa vuota""
, mentre tutti gli altri valori sono truthy.
Valori Booleani
Un valore boolean
rappresenta vero o falso, acceso o spento, sì o no. Ci sono solo due possibili valori di questo tipo. Le parole riservate true
e false
corrispondono a questi due valori.
I valori boolean
sono generalmente il risultato di confronti che si fanno nei programmi JavaScript. Per esempio:
a === 4
Questo codice testa per vedere se il valore della variabile a
è uguale al numero 4
. Se lo è, il risultato di questo confronto è il valore boolean true
. Se a
non è uguale a 4
, il risultato del confronto è false
.
I valori boolean sono comunemente usati nelle strutture di controllo JavaScript. Per esempio, l'istruzione if/else
in JavaScript esegue un'azione se un valore boolean è true
e un'altra azione se il valore è false
. Solitamente combiniamo un confronto che crea un valore boolean direttamente con un'istruzione che lo usa. Il risultato appare così:
if (a === 4) {
b = b + 1;
} else {
a = a + 1;
}
Questo codice controlla se a
è uguale a 4
. Se è così, aggiunge 1
a b
; altrimenti, aggiunge 1
ad a
.
Come si discuterà nelle prossime lezioni, qualsiasi valore JavaScript può essere convertito in un valore boolean
. I seguenti valori si convertono in, e quindi funzionano come, false
:
undefined
null
0
-0
NaN
"" // la stringa vuota
Tutti gli altri valori, inclusi tutti gli oggetti (e array) si convertono in, e funzionano come, true
. false
, e i sei valori che si convertono in esso, sono talvolta chiamati valori falsy, e tutti gli altri valori sono chiamati truthy. Ogni volta che JavaScript si aspetta un valore boolean, un valore falsy funziona come false
e un valore truthy funziona come true
.
Come esempio, si supponga che la variabile o
contenga o un oggetto o il valore null
. È possibile testare esplicitamente per vedere se o
è non-null con un'istruzione if
così:
if (o !== null) ...
L'operatore not-equal !==
confronta o
con null
e valuta a true
o false
. Ma si può omettere il confronto e invece fare affidamento sul fatto che null
è falsy e gli oggetti sono truthy:
if (o) ...
Nel primo caso, il corpo dell'if
sarà eseguito solo se o
non è null
. Il secondo caso è meno rigoroso: eseguirà il corpo dell'if
solo se o
non è false
o qualsiasi valore falsy (come null
o undefined
). Quale istruzione if
è appropriata per il programma dipende davvero da quali valori ci si aspetta vengano assegnati a o
. Se si ha bisogno di distinguere null
da 0
e ""
, allora si dovrebbe usare un confronto esplicito.
I valori boolean hanno un metodo toString()
che si può usare per convertirli nelle stringhe "true" o "false", ma non hanno altri metodi utili. Nonostante l'API banale, ci sono tre importanti operatori boolean.
L'operatore &&
esegue l'operazione Boolean AND. Valuta a un valore truthy se e solo se entrambi i suoi operandi sono truthy; valuta a un valore falsy altrimenti. L'operatore ||
è l'operazione Boolean OR: valuta a un valore truthy se uno (o entrambi) dei suoi operandi è truthy e valuta a un valore falsy se entrambi gli operandi sono falsy. Infine, l'operatore unario !
esegue l'operazione Boolean NOT: valuta a true
se il suo operando è falsy e valuta a false
se il suo operando è truthy. Per esempio:
if ((x === 0 && y === 0) || !(z === 0)) {
// x e y sono entrambi zero o z è non-zero
}
Si studieranno in dettaglio gli operatori booleani nelle prossime lezioni. Per ora, è sufficiente sapere che i valori booleani sono un tipo di dato fondamentale in JavaScript e che sono comunemente usati per controllare il flusso del programma.