`truthy` e `falsy` in JavaScript
Questo articolo spiega truthy e falsy in JavaScript.
YouTube Video
truthy e falsy in JavaScript
I concetti di truthy e falsy in JavaScript svolgono un ruolo molto importante, soprattutto nella valutazione delle istruzioni condizionali. Truthy e falsy determinano se un valore viene valutato come vero (true) o falso (false), ma questi valori non sono necessariamente il booleano true o false in sé.
Valori Falsy
I valori Falsy si riferiscono a valori che vengono valutati come false nelle condizioni di JavaScript. Di seguito è riportato un elenco di valori falsy in JavaScript.
1const values = [
2 false,
3 0,
4 -0,
5 0.0,
6 -0.0,
7 0n,
8 -0n,
9 "",
10 null,
11 undefined,
12 NaN
13];
14
15for (let value of values) {
16 if (value) {
17 console.log(`${value} is truthy`);
18 } else {
19 console.log(`${value} is falsy`);
20 }
21}In questo esempio, tutti i valori falsy verranno stampati come "falsy". Di seguito è riportato un elenco di valori falsy in JavaScript.
false—falsenel tipo Booleano0— Il numero zero (anche il decimale0.0èfalsy)-0— Zero negativo (tecnicamente distinto da0, ma comunquefalsy)0n— Zero nel tipo BigInt""— Una stringa vuota di lunghezza 0null— Nessun valore presenteundefined— Valore non definitoNaN— Non è un numero
Questi valori vengono trattati come false nelle operazioni logiche e nelle istruzioni condizionali (come le istruzioni if).
Valori Truthy
Tutti i valori che non sono falsy sono truthy. Questo si riferisce a valori che vengono valutati come booleani true. In JavaScript, molti valori vengono trattati come truthy.
1const values = [
2 true,
3 1,
4 -1,
5 "Hello",
6 " ",
7 [],
8 {},
9 function() {},
10 Symbol(),
11 Infinity
12];
13
14for (let value of values) {
15 if (value) {
16 console.log(value, ' is truthy');
17 } else {
18 console.log(value, ' is falsy');
19 }
20}In questo codice, i valori truthy vengono mostrati come "truthy". Ad esempio, i seguenti valori sono truthy.
true—truenel tipo Booleano- Numeri (diversi da 0) — Ad esempio,
1e-1sono anchetruthy. - Stringhe (non vuote) — ad esempio,
"Ciao"o" "(anche le stringhe contenenti solo spazi sonotruthy) - Oggetti — Anche oggetti vuoti (
{}) e array ([]) sonotruthy. - Funzioni — Anche le funzioni stesse sono
truthy. Symbol— I valori di tipoSymbolsono anch'essitruthy.Infinity— Sia l'infinito positivo che negativo sonotruthy.
Applicazioni di truthy e falsy
I concetti di truthy e falsy vengono spesso utilizzati nei costrutti condizionali e nelle operazioni logiche. Ad esempio, quando si imposta un valore di default utilizzando l'operatore || (OR logico), il primo valore truthy viene restituito come risultato.
Come verificare i valori falsy
Per verificare i valori falsy, è comodo utilizzare la funzione Boolean. La funzione Boolean converte esplicitamente un valore dato in un tipo booleano.
Esempi della funzione Boolean
1const values = [
2 false,
3 0,
4 "",
5 null,
6 undefined,
7 NaN
8];
9
10for (let value of values) {
11 console.log(`${value} is ${Boolean(value) ? 'truthy' : 'falsy'}`);
12}Conclusione
Truthy e falsy in JavaScript sono importanti per comprendere come i valori non booleani vengano valutati nelle espressioni condizionali. I valori falsy includono false, 0, una stringa vuota, null, undefined e NaN, mentre tutti gli altri valori vengono considerati truthy. Comprendere questi concetti consente di scrivere codice più flessibile ed efficiente.
Puoi seguire l'articolo sopra utilizzando Visual Studio Code sul nostro canale YouTube. Controlla anche il nostro canale YouTube.