`Truthy` e `Falsy` em JavaScript
Este artigo explica truthy
e falsy
em JavaScript.
YouTube Video
Truthy
e Falsy
em JavaScript
Os conceitos de truthy
e falsy
em JavaScript desempenham um papel muito importante, especialmente na avaliação de instruções condicionais. Truthy
e falsy
determinam se um valor é avaliado como verdadeiro (true
) ou falso (false
), mas esses valores não são necessariamente os booleanos true
ou false
em si mesmos.
Valores Falsy
Valores falsy
referem-se a valores que são avaliados como false
em condicionais de JavaScript. Abaixo está uma lista de valores falsy
em JavaScript.
1const values = [
2 false,
3 0,
4 -0,
5 0.0,
6 -0.0,
7 0n,
8 -0n,
9 "",
10 null,
11 undefined,
12 NaN
13];
14
15for (let value of values) {
16 if (value) {
17 console.log(`${value} is truthy`);
18 } else {
19 console.log(`${value} is falsy`);
20 }
21}
Neste exemplo, todos os valores falsy
serão exibidos como "falsy". Abaixo está uma lista de valores falsy
em JavaScript.
false
—false
no tipo Booleano0
— O número zero (o decimal0.0
também éfalsy
)-0
— Zero negativo (tecnicamente distinto de0
, mas ainda éfalsy
)0n
— Zero no tipo BigInt""
— Uma string vazia de comprimento 0null
— Ausência de valorundefined
— Valor indefinidoNaN
— Não é um número
Esses valores são tratados como false
em operações lógicas e instruções condicionais (como em instruções if
).
Valores Truthy
Todos os valores que não são falsy
são truthy
. Isso se refere a valores que são avaliados como booleano true
. Em JavaScript, muitos valores são tratados como truthy
.
1const values = [
2 true,
3 1,
4 -1,
5 "Hello",
6 " ",
7 [],
8 {},
9 function() {},
10 Symbol(),
11 Infinity
12];
13
14for (let value of values) {
15 if (value) {
16 console.log(value, ' is truthy');
17 } else {
18 console.log(value, ' is falsy');
19 }
20}
Neste código, os valores truthy
são exibidos como "truthy". Por exemplo, os seguintes valores são truthy
.
true
—true
no tipo Booleano- Números (diferentes de 0) — Por exemplo,
1
e-1
também sãotruthy
. - Strings (não-vazias) — por exemplo,
"Hello"
ou" "
(mesmo strings que contêm apenas espaços sãotruthy
) - Objetos — Mesmo objetos vazios (
{}
) e arrays ([]
) sãotruthy
. - Funções — As próprias funções também são
truthy
. Symbol
— Valores do tipoSymbol
também sãotruthy
.Infinity
— Tanto infinito positivo quanto negativo sãotruthy
.
Aplicações de truthy
e falsy
Os conceitos de truthy
e falsy
são frequentemente usados em condicionais e operações lógicas. Por exemplo, ao definir um valor padrão usando o operador ||
(OU lógico), o primeiro valor truthy
é retornado como resultado.
Como verificar valores falsy
Para verificar valores falsy
, usar a função Boolean
é conveniente. A função Boolean
converte explicitamente um valor dado para o tipo booleano.
Exemplos da função Boolean
1const values = [
2 false,
3 0,
4 "",
5 null,
6 undefined,
7 NaN
8];
9
10for (let value of values) {
11 console.log(`${value} is ${Boolean(value) ? 'truthy' : 'falsy'}`);
12}
Conclusão
Truthy
e falsy
em JavaScript são importantes para entender como valores não-booleanos são avaliados em expressões condicionais. Os valores falsy
incluem false
, 0
, uma string vazia, null
, undefined
e NaN
, enquanto todos os outros valores são avaliados como truthy
. Compreender esses conceitos permite que você escreva um código mais flexível e eficiente.
Você pode acompanhar o artigo acima usando o Visual Studio Code em nosso canal do YouTube. Por favor, confira também o canal do YouTube.