`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—falseno tipo Booleano0— O número zero (o decimal0.0també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—trueno tipo Booleano- Números (diferentes de 0) — Por exemplo,
1e-1també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 tipoSymboltambé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.