Anteriormente vimos como condicionar o fluxo execução com a estrutura condicional "if", comparando valores, hoje veremos como o Javascript entende o que são valores verdadeiros e falsos, através do "truthy" e "falsy",
Falsy
Quando um valor convertido em booleano representa o valor false, sendo eles (considerando var teste;):
- undefined (if (undefined) teste = true; else teste = false;)
- null (if (null) teste = true; else teste = false;)
- NaN (if (NaN) teste = true; else teste = false;)
- 0 (if (0) teste = true; else teste = false;)
- -0 (if (-0) teste = true; else teste = false;)
- '' (if ('') teste = true; else teste = false;)
- "" (if ("") teste = true; else teste = false;)
- false (if (false) teste = true; else teste = false;)
Todos os exemplos acima retornam falso, mantendo a variável "teste" com o valor "false".
Truthy
Quando um valor convertido em booleano representa true, sendo todos os valores diferentes dos "falsy" listados acima:
- Números (if (1) teste = true; else teste = false;)
- Objetos (if ( {} ) teste = true; else teste = false;)
- Arrays (if ( [] ) teste = true; else teste = false;)
- Texto (if ( '0' ) teste = true; else teste = false;)
- true (if ( true ) teste = true; else teste = false;)
Operador para a representação booleana
Podemos testar facilmente se um valor é verdadeiro ou falso com o operador "!!", se nos lembrarmos falamos sobre "!" que inverte o valor, ou seja, se um valor for verdadeiro o "!" inverte o mesmo para falso, então ao utilizarmos o "!!" temos o valor booleano real:
Comentários
Postar um comentário
Obrigado por Participar do programero, fique a vontade para agradecer, retificar, perguntar ou sugerir.