Booléen

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

Toutes les valeurs en JavaScript sont implicitement true ou false. L'objet Boolean permet de coercier une valeur en tant que des valeurs booléennes true ou false, en fonction de l'état implicite "true" ou "false" :

Boolean( "A string literal" );
> true

Les valeurs qui renvoient false incluent 0, null, undefined, NaN, un champ vide une chaîne (""), une valeur omise et une valeur booléenne false. Résultat pour toutes les autres valeurs dans 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

Comme tous les objets sont intrinsèquement vérités, l'objet booléen obtenu est toujours faiblement évalué, 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
Null.
0
"none".