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