Valeurs booléennes

La primitive booléenne est un type de données logique qui ne comporte que deux valeurs: true et false.

Objet booléen

Toutes les valeurs en JavaScript sont implicitement true ou false. L'objet Boolean peut être utilisé pour forcer une valeur à une valeur booléenne true ou false, en fonction de l'état implicite "true" ou "false" de cette valeur:

Boolean( "A string literal" );
> true

Les valeurs qui génèrent false incluent 0, null, undefined, NaN, une chaîne vide (""), une valeur omise et une valeur booléenne false. Toutes les autres valeurs donnent true.

Boolean( NaN );
> false

Boolean( -0 );
> false

Boolean( 5 );
> true

Boolean( "false" ); // the value `"false"` is a string, and therefore implicitly true.
> true

Évitez d'utiliser l'objet Boolean comme constructeur. Il crée un objet contenant une valeur booléenne, et non la primitive booléenne que vous pourriez attendre:

const falseBoolean = Boolean( 0 );
const falseObject = new Boolean( 0 );

console.log( falseBoolean  );
> false

console.log( falseObject  );
> Boolean { false }

falseObject.valueOf();
> false

Étant donné que tous les objets sont intrinsèquement vrais, l'objet booléen obtenu renvoie toujours approximativement la valeur "true", même s'il contient une valeur false:

const falseBoolean = Boolean( 0 );
const falseObject = new Boolean( 0 );

console.log( falseBoolean == true );
> false

console.log( falseObject == true );
> true

Vérifier vos connaissances

Parmi les propositions suivantes, laquelle renvoie false ?

Une chaîne vide
0
null
"none"