El primitivo booleano es un tipo de datos lógico con solo dos valores: true
y false
.
Objeto booleano
Todos los valores en JavaScript son true
o false
de forma implícita. El objeto Boolean
se puede usar para forzar un valor a un booleano true
o false
, según el estado implícito de verdadero o falso de ese valor:
Boolean( "A string literal" );
> true
Los valores que generan false
incluyen 0
, null
, undefined
, NaN
, una cadena vacía (""
), un valor omitido y un valor booleano false
. Todos los demás valores generan true
.
Boolean( NaN );
> false
Boolean( -0 );
> false
Boolean( 5 );
> true
Boolean( "false" ); // the value `"false"` is a string, and therefore implicitly true.
> true
Evita usar el objeto Boolean
como constructor. Crea un objeto que contiene un valor booleano, no la primitiva booleana que podrías esperar:
const falseBoolean = Boolean( 0 );
const falseObject = new Boolean( 0 );
console.log( falseBoolean );
> false
console.log( falseObject );
> Boolean { false }
falseObject.valueOf();
> false
Debido a que todos los objetos son intrínsecamente verdaderos,
el objeto booleano resultante siempre se evalúa de forma imprecisa como verdadero, incluso si
contiene un valor false
:
const falseBoolean = Boolean( 0 );
const falseObject = new Boolean( 0 );
console.log( falseBoolean == true );
> false
console.log( falseObject == true );
> false
console.log( !!falseObject );
> true
Verifica tu comprensión
¿Cuál de las siguientes opciones muestra false
?
"none"
null
0