Booléen

La primitive booléenne est un type de données logique comportant seulement deux valeurs: true et false.

Objet booléen

Dans JavaScript, toutes les valeurs sont implicitement true ou false. L'objet Boolean peut être utilisé pour forcer une valeur en une valeur booléenne true ou false, en fonction de l'état "vrai" ou "faux" implicite 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 génèrent 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 en tant que constructeur. Elle crée un objet contenant une valeur booléenne, et non la primitive booléenne à laquelle vous pourriez vous 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 vérités, l'objet booléen obtenu est toujours faiblement évalué à "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

Testez vos connaissances

Lequel des éléments suivants renvoie false ?

Une chaîne vide
0
Null.
"none".