Entenda o conceito de truthy e falsy em JavaScript

Compreenda os conceitos de valores truthy e falsy em JavaScript e como eles afetam a execução do seu código em condições e expressões.

Como funciona o conceito de truthy e falsy em JavaScript?

Em JavaScript, os valores podem ser classificados como truthy ou falsy com base em como eles são avaliados em contextos booleanos, como condições if, operadores lógicos e outras expressões que esperam um valor true ou false. Compreender esses conceitos é importante para evitar erros ao escrever código que depende de condições e comparações.

O que são valores Falsy?

Os valores falsy em JavaScript são aqueles que, quando avaliados em um contexto booleano, resultam em false. Existem apenas sete valores falsy em JavaScript:

  • false
  • 0
  • -0
  • 0n (BigInt zero)
  • "" (string vazia)
  • null
  • undefined
  • NaN

Exemplo de código com valores falsy:

if (!false) { console.log('false é falsy'); }
if (!0) { console.log('0 é falsy'); }
if (!"") { console.log('String vazia é falsy'); }
if (!null) { console.log('null é falsy'); }

No exemplo acima, cada um dos valores falsy é negado com o operador !, o que resulta em true, fazendo com que as mensagens sejam exibidas no console.

O que são valores Truthy?

Valores truthy são todos os valores que, quando avaliados em um contexto booleano, resultam em true. Quase todos os valores em JavaScript são truthy, com exceção dos sete valores falsy mencionados acima.

Exemplo de código com valores truthy:

if ('texto') { console.log('Texto é truthy'); }
if (42) { console.log('42 é truthy'); }
if ({}) { console.log('Objeto vazio é truthy'); }

Neste exemplo, valores como a string 'texto', o número 42, e até um objeto vazio {} são considerados truthy, pois não são falsy.

Truthy e Falsy em Condições

Em JavaScript, a lógica condicional trata os valores como true ou false dependendo de seu tipo. Ao usar esses valores em expressões condicionais, como em um if, JavaScript automaticamente os avalia como truthy ou falsy.

Exemplo de código com condição:

let valor = 'texto';
if (valor) {
  console.log('Valor é truthy');
} else {
  console.log('Valor é falsy');
}

No exemplo acima, como a variável valor contém uma string não vazia, ela é considerada truthy, e a mensagem 'Valor é truthy' será exibida no console.

Usando Falsy e Truthy para Controle de Fluxo

A compreensão de valores truthy e falsy é essencial para o controle de fluxo em JavaScript, especialmente quando você deseja fazer verificações de existência, como checar se uma variável foi inicializada ou se um campo de formulário foi preenchido.

Exemplo de código para verificar se uma variável tem valor:

let nome = '';  // string vazia (falsy)
if (nome) {
  console.log('Nome foi fornecido');
} else {
  console.log('Nome não foi fornecido');
}

Neste caso, a variável nome é uma string vazia, que é falsy, então o bloco de código dentro do else será executado, exibindo 'Nome não foi fornecido'.

Conclusão

Os valores truthy e falsy em JavaScript são fundamentais para compreender como a linguagem lida com condições e comparações. Saber quando e como usá-los é essencial para evitar bugs e escrever código que seja eficiente e sem erros. Quando você entender esses conceitos, pode escrever código mais limpo, direto e fácil de depurar.

A compreensão dos valores truthy e falsy em JavaScript é essencial, pois ela afeta diretamente a forma como escrevemos e interpretamos condições. Os valores falsy são frequentemente usados para testar se uma variável ou objeto tem um valor válido (ou seja, não é null, undefined, ou vazio). Por outro lado, valores truthy são fundamentais para garantir que as variáveis atendem a certos requisitos e que o código seja executado corretamente. Usar corretamente essas avaliações pode economizar tempo e evitar erros comuns de lógica em JavaScript.

Algumas aplicações:

  • Verificar se variáveis possuem valores válidos antes de realizar operações.
  • Usar valores falsy para testar condições de erro ou campos de formulário vazios.
  • Melhorar a legibilidade do código ao simplificar verificações de valores.
  • Implementar lógica condicional de maneira mais eficiente e legível.

Dicas para quem está começando

  • Entenda que apenas os sete valores falsy retornam false em uma expressão condicional. Qualquer outro valor será considerado truthy.
  • Use valores falsy para testar se uma variável está vazia ou indefinida.
  • Evite usar comparações explícitas com false ou true — simplesmente teste o valor diretamente.
  • Pratique usando falsy e truthy para verificar se dados de entrada ou respostas de API são válidos antes de usá-los.

Contribuições de Lucas Souza

Compartilhe este tutorial: Como funciona o conceito de truthy e falsy em JavaScript?

Compartilhe este tutorial

Continue aprendendo:

O que é hoisting em JavaScript?

Entenda o conceito de hoisting em JavaScript e como ele pode impactar a execução do seu código, especialmente no uso de variáveis e funções.

Tutorial anterior

Como verificar se uma variável está definida?

Entenda como verificar se uma variável foi definida em JavaScript e como prevenir erros ao acessar variáveis não inicializadas.

Próximo tutorial