`truthy` e `falsy` in JavaScript

`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.

  • falsefalse nel tipo Booleano
  • 0 — Il numero zero (anche il decimale 0.0 è falsy)
  • -0 — Zero negativo (tecnicamente distinto da 0, ma comunque falsy)
  • 0n — Zero nel tipo BigInt
  • "" — Una stringa vuota di lunghezza 0
  • null — Nessun valore presente
  • undefined — Valore non definito
  • NaN — 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.

  • truetrue nel tipo Booleano
  • Numeri (diversi da 0) — Ad esempio, 1 e -1 sono anche truthy.
  • Stringhe (non vuote) — ad esempio, "Ciao" o " " (anche le stringhe contenenti solo spazi sono truthy)
  • Oggetti — Anche oggetti vuoti ({}) e array ([]) sono truthy.
  • Funzioni — Anche le funzioni stesse sono truthy.
  • Symbol — I valori di tipo Symbol sono anch'essi truthy.
  • Infinity — Sia l'infinito positivo che negativo sono truthy.

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.

YouTube Video