Nos contextos nos que se espera un valor booleano e un valor que os diferentes tipos, o JavaScript utilízase de forma implícita para comportarse como booleano.
Os valores convertibles en false
son coñecidos como falsos ou falsos, e son aqueles que cando están nun contexto booleano, JavaScript fainos false
:
- (cero)
-
-0
(cero negativo) -
0n
(tipo cero bigint) -
""
(citas dobres baleiras) -
''
(comiñas simples baleiras) -
``
(baleiro tildes invertidos) -
-
undefined
-
NaN
Entón, se usamos algún destes valores nun contexto de Condicional, a condición será falsa.
var resultado = Math.round("cero");// → NaN// por lo tanto resultado es falsyif (resultado) { console.log("Esto nunca se mostrará");}
En consecuencia, o resto dos valores en JavaScript son convertibles en true
e son considerados a verdade.
Isto é posible grazas ao mecanismo de coerción. Basicamente, cando o que se espera é unha forza booleana, JavaScript o valor para o tipo booleano, nunha operación equivalente para chamar á función global Boolean
nel.
// 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())