nos contextos em que um valor booleano é esperado, e um valor que diferentes tipos, JavaScript é usado de maneira implícita para se comportar como booleano.
Os valores conversíveis para false
são conhecidos como falsos ou falsos, e são aqueles que quando estão em um contexto booleano, JavaScript faz deles false
- (zero)
-
0n
(zero tipo bigint) -
""
(Citações duplas vazias) -
''
(vazio citações simples) -
``
(vazio tildes invertidos) -
null
-
NaN
então, se usarmos algum desses valores em um contexto de Condicional, a condição será falsa.
var resultado = Math.round("cero");// → NaN// por lo tanto resultado es falsyif (resultado) { console.log("Esto nunca se mostrará");}
Consequentemente, o restante dos valores em javascript é conversível para true
e são considerados grossistas.
Isso é possível graças ao mecanismo de coerção. Basicamente, quando o que é esperado é uma força booleana, javascript o valor para o tipo booleano, em uma operação equivalente para chamar a função global Boolean
nele.
// todos los siguientes retornan `false`Boolean(false)Boolean(0)Boolean(-0)Boolean(0n)Boolean("")Boolean('')Boolean(``)Boolean(null)Boolean(undefined)Boolean(NaN)// cualquier otro valor retorna `true`Boolean(true)Boolean()Boolean({})Boolean('Hola mundo')Boolean(new Date())