Valores truthy e falsy
Saiba quais valores são avaliados como verdadeiros ou falsos.
Valores truthy e falsy é uma aula grátis de JavaScript Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de JavaScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de JavaScript Academy inclui 4 aulas no total.
Valores verdadeiros e falsos
Em um contexto booleano, como em uma instrução condicional, todo valor JavaScript é tratado como equivalente a verdadeiro ou equivalente a falso. Valores equivalentes a falso se comportam como falso; todos os demais são equivalentes a verdadeiro.
if ("hello") {
console.log("strings are truthy")
}A lista de valores falsos
Há exatamente oito valores equivalentes a falso. Memorize-os, pois tudo que não estiver na lista será equivalente a verdadeiro.
- falso
- zero e zero negativo
- texto vazio
- nulo
- indefinido
- NaN
- zero de BigInt
console.log(Boolean(0))
console.log(Boolean(""))
console.log(Boolean(null))Zero é equivalente a falso
O número zero é equivalente a falso, mas qualquer outro número, incluindo números negativos, é equivalente a verdadeiro.
console.log(Boolean(0))
console.log(Boolean(-5))
console.log(Boolean(0.1))Texto vazio é equivalente a falso
Um texto vazio é equivalente a falso, mas um texto que contém um espaço ou a palavra falso é equivalente a verdadeiro, pois não está vazio.
console.log(Boolean(""))
console.log(Boolean(" "))
console.log(Boolean("false"))Nulo e indefinido
Tanto nulo quanto indefinido são equivalentes a falso. Eles representam a ausência de um valor.
console.log(Boolean(null))
console.log(Boolean(undefined))NaN é equivalente a falso
NaN, o resultado de uma operação numérica inválida, é equivalente a falso. Isso identifica conversões malsucedidas em verificações booleanas.
console.log(Boolean(NaN))
console.log(Boolean(Number("abc")))Objetos são sempre equivalentes a verdadeiro
Todo objeto e vetor é equivalente a verdadeiro, mesmo quando está vazio. Isso surpreende muitos desenvolvedores que esperam que um vetor vazio seja equivalente a falso.
console.log(Boolean({}))
console.log(Boolean([]))Convertendo para booleano
O operador de dupla negação é uma forma concisa de converter qualquer valor para seu equivalente booleano, reproduzindo o comportamento de uma instrução condicional.
console.log(!!"text")
console.log(!!0)
console.log(!![])Usando a veracidade nas condições
Frequentemente, você pode usar a veracidade para verificar valores ausentes. Um texto vazio, nulo ou indefinido fará com que a ramificação condicional seja ignorada.
function greet(name) {
if (name) {
return "Hi " + name
}
return "Hi guest"
}
console.log(greet(""))
console.log(greet("Ann"))Valores padrão com OR
O operador lógico OR retorna o primeiro operando equivalente a verdadeiro, uma forma clássica de fornecer valores padrão. Tenha cuidado: zero e texto vazio acionam o valor padrão.
const input = ""
const value = input || "default"
console.log(value)Nulo em comparação com falso
O operador de coalescência de nulo só recorre ao valor alternativo para nulo ou indefinido, não para outros valores equivalentes a falso, como zero, o que o torna mais seguro para valores numéricos padrão.
const count = 0
console.log(count || 10)
console.log(count ?? 10)Verificação rápida
Teste seus conhecimentos sobre valores verdadeiros e falsos.
Recapitulação
Recapitulação: Existem oito valores equivalentes a falso; todos os demais são equivalentes a verdadeiro.
- Equivalentes a falso: falso, 0, texto vazio, nulo, indefinido, NaN, zero de BigInt
- Objetos e vetores vazios são equivalentes a verdadeiro
- A dupla negação converte para booleano
- A coalescência de nulo verifica apenas nulo e indefinido
console.log(Boolean([]))
console.log(Boolean(0))Perguntas Frequentes
A aula “Valores truthy e falsy” é grátis?
Sim — o texto completo de “Valores truthy e falsy” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de JavaScript Academy, atualize para CoddyKit PRO. O curso de JavaScript Academy inclui 4 aulas no total.
O que vou aprender em “Valores truthy e falsy”?
Saiba quais valores são avaliados como verdadeiros ou falsos. Você pratica JavaScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar JavaScript Academy?
Nenhuma experiência prévia é necessária. JavaScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Valores truthy e falsy”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de JavaScript Academy?
Sim. Cada aula de JavaScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Valores truthy e falsy
- Igualdade flexível versus estrita
- Coerção implícita em operações
- Técnicas de conversão explícita