Original article: Falsy Values in JavaScript
Descripción
Un valor falso es algo que se evalúa como FALSE, por ejemplo, cuando se comprueba una variable. Solo hay seis valores falsos en JavaScript: undefined
, null
, NaN
, 0
, ""
(cadena vacía), y false
por supuesto.
Comprobación de valores falsos en las variables
Es posible comprobar un valor falso en una variable con una simple condición:
if (!variable) {
// Cuando la variable tiene un valor falso la condición es true.
}
Ejemplos generales
var cadena = ""; // <-- falso
var cadenaLlena = "una cadena de texo aquí"; // <-- verdadero
var cero = 0; // <-- falso
var numeroMayorQueCero // <-- verdadero
var arregloVacio = []; // <-- verdadero, exploraremos más sobre esto a continuación
var objetoVacio = {}; // <-- verdadero
Diversión con arreglos
if ([] == false) // <-- verdadero, ejecutará el código del bloque if
if ([]) // <-- verdadero, también ejecutará el código del bloque if
if ([] == true) // <-- falso, NO ejecutará el código del bloque if
if (![]) // <-- falso, tampoco ejecutará el código del bloque if
Advertencia
Ten en cuenta el tipo de datos cuando evalúes un valor en un contexto booleano. Si el tipo de dato del valor es un número, la evaluación verdadero/falso puede dar un resultado inesperado:
const coincidir = { equipoA: 0, equipoB: 1 }
if (coincidir.equipoA)
// Lo siguiente no se ejecutará debido a la evaluación falsa
console.log('Equipo A: ' + coincidir.equipoA);
}
Una alternativa al caso de uso anterior es evaluar el valor utilizando typeof
:
const coincidir = { equipoA: 0, equipoB: 1 }
if (typeof coincidir.equipoA === 'number')
console.log('Equipo A: ' + coincidir.equipoA);
}