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);
}