A primitiva booleana é um tipo de dados lógicos com apenas dois valores: true e
false.
Objeto booleano
Todos os valores em JavaScript são implicitamente true ou false. O objeto Boolean
pode ser usado para coagir um valor a um
booleano true ou false, com base no estado verdadeiro ou falso implícito desse
valor:
Boolean( "A string literal" );
> true
Os valores que resultam em false incluem 0, null, undefined, NaN, uma string vazia (""), um valor omitido e um booleano false. Todos os outros valores resultam
em true.
Boolean( NaN );
> false
Boolean( -0 );
> false
Boolean( 5 );
> true
Boolean( "false" ); // the value `"false"` is a string, and therefore implicitly true.
> true
Evite usar o objeto Boolean como um construtor. Ele cria um objeto
que contém um valor booleano, não a primitiva booleana esperada:
const falseBoolean = Boolean( 0 );
const falseObject = new Boolean( 0 );
console.log( falseBoolean );
> false
console.log( falseObject );
> Boolean { false }
falseObject.valueOf();
> false
Como todos os objetos são inerentemente verdadeiros,
o objeto booleano resultante sempre é avaliado como verdadeiro, mesmo que
contenha um 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
Teste seu conhecimento
Qual das opções a seguir retorna false?
0null"none"