Artigo original: Falsy Values in JavaScript

Descrição

Um valor falsy é um valor que pode ser avaliado como FALSE, por exemplo, quando verificamos uma variável. Há apenas seis valores falsy em JavaScript: undefined, null, NaN, 0, "" (string vazia) e, naturalmente, false.

Verificando valores falsy em variáveis

É possível verificar um valor falsy em uma variável com um condicional simples:

if (!variavel) {
  // Quando a variável tiver um valor falsy, a condição é verdadeira.
}

Exemplos gerais

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

var filledString = "uma string"; // <-- truthy (avaliada como true)

var zero = 0; // <-- falsy

var numberGreaterThanZero // <-- truthy

var emptyArray = []; // <-- truthy, falaremos disso a seguir

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

Diversão com arrays

if ([] == false) // <-- truthy, executará o código do bloco if

if ([]) // <-- truthy, executará o código do bloco if

if ([] == true) // <-- falsy, NÃO executará o código do bloco if

if (![]) // <-- falsy, também NÃO executará o código do bloco if

Um cuidado necessário

Cuidado com o tipo de dado ao avaliar um valor em um contexto booleano. Se o tipo de dado do valor deve ser um number (número), a avaliação de truthy/falsy pode resultar em algo inesperado:

const partida = { equipeA: 0, equipeB: 1 }
if (partida.equipeA)
  // O bloco if não será executado, pois a avaliação é falsy
  console.log('Equipe A: ' + partida.equipeA);
}

Uma alternativa para o caso de uso acima é avaliar o valor usando typeof:

const partida = { equipeA: 0, equipeB: 1 }
if (typeof partida.equipeA === 'number')
  console.log('Equipe A: ' + partida.equipeA);
}

Mais informações