Articolo originale: Falsy Values in JavaScript

Descrizione

Un valore falsy è qualcosa che restituisce FALSE, ad esempio quando si controlla una variabile. Ci sono solo sei valori falsy in JavaScript: undefined, null, NaN, 0, "" (stringa vuota) e false ovviamente.

Controllo dei valori falsy sulle variabili

È possibile verificare la presenza di un valore falso in una variabile con una semplice istruzione condizionale:

if (!variabile) {
  // Qui se la variabile è un falsy la condizione è true.
}

Esempi generali

var string = ""; // <-- falsa

var filledString = "some string in here"; // <-- vera

var zero = 0; // <-- falsa

var numberGreaterThanZero // <-- vera

var emptyArray = []; // <-- vera, la esamineremo dopo

var emptyObject = {}; // <-- vera

Divertimento con gli array

if ([] == false) // <-- vera, eseguirà il codice nel blocco if

if ([]) // <-- vera, anche qui verrà eseguito il codice nel blocco if

if ([] == true) // <-- falso, non verrà eseguito il codice nel blocco if

if (![]) // <-- falso, anche qui non verrà eseguito il codice nel blocco if

Avvertimento

Presta attenzione al tipo di dati durante la valutazione di un valore in un contesto booleano. Se il tipo di dati del valore è un numero, la valutazione truthy/falsy può comportare un risultato imprevisto:

const match = { teamA: 0, teamB: 1 }
if (match.teamA)
  // Questa non verrà eseguita a causa del risultato falsy della valutazione
  console.log('Team A: ' + match.teamA);
}

Un'alternativa all'esempio di sopra è valutare il valore usando typeof:

const match = { teamA: 0, teamB: 1 }
if (typeof match.teamA === 'number')
  console.log('Team A: ' + match.teamA);
}

Maggiori informazioni