Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Boolean
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
L'objetBoolean est une enveloppe objet pour représenter une valeur booléenne.
Dans cet article
Description
La valeur passée en premier paramètre est, si nécessaire, convertie en valeur booléenne. Si la valeur est omise ou est0,-0,null,false,NaN,undefined ou une chaîne de caractères vide (""), l'objet a une valeur initiale defalse (faux). Toutes les autres valeurs, y compris n'importe quel objet, un tableau vide ([]), ou une chaîne de caractères"false", créent un objet avec une valeur initiale detrue (vrai).
Il ne faut pas confondre les valeurs primitives booléennestrue etfalse avec les valeurstrue etfalse d'un objetBoolean.
Tout objet dont la valeur n'est niundefined ninull, incluant un objetBoolean dont la valeur est fausse, est évalué àtrue lorsqu'il est utilisé dans une instruction conditionnelle. Par exemple, la condition de l'instructionif dans le code suivant est validée, car l'expressionx est évaluée àtrue :
var x = new Boolean(false);if (x) { // ce code est exécuté}Ce comportement ne s'applique pas aux valeurs primitives booléennes. Par exemple, dans le code suivant, la condition est évaluée àfalse :
var x = false;if (x) { // ce code n'est pas exécuté}Il ne faut pas utiliser un objetBoolean pour convertir une valeur non-booléenne en une valeur booléenne. On utilisera plutôtBoolean comme une fonction (sans l'opérateurnew) ou alors ladouble négation :
var x = Boolean(expression); // conseillévar x = !!expression; // une autre méthodevar x = new Boolean(expression); // à ne pas utiliserSi vous spécifiez un objet quelconque, incluant un objet booléen qui vautfalse, le nouvel objetBoolean vaudratrue.
var monFalse = new Boolean(false); // valeur initiale à falsevar g = Boolean(monFalse); // valeur initiale à truevar maChaine = new String("Hello"); // un objet Stringvar s = Boolean(maChaine); // valeur initiale à trueIl ne faut pas utiliser un objetBoolean à la place d'une valeur primitive booléenne.
Note :Lorsque la propriété historique, non-standard,document.all est utilisée comme argument, le constructeurBoolean renvoie un objet booléen faux. Cette propriété étant non-standard, son utilisation est déconseillée.
Lorsqu'on utilise l'opérateur== afin de comparer faiblement un objet avec une valeur primitive booléenne, il est préférable de comprendre clairement ce qui est comparé. Par exemple :
if ([]) { console.log("[] est équivalent à vrai"); // affiche "[] est équivalent à vrai" dans la console}if ([] == false) { console.log("[] == false"); // affiche "[] == false"}En effet, on a bien[] == false bien que[] est équivalent à vrai. La comparaison[] == false compare lavaleur de[] avecfalse. Or, pour obtenir lavaleur de[], le moteur JavaScript appelle[].toString() dont le résultat vaut"", et c'estcette chaîne de caractères qui est comparée avecfalse. Autrement dit,[] == false est équivalent à"" == false. Avec"" qui est équivalent à faux, on a donc le résultat observé.
Constructeur
Boolean()Crée un nouvel objet
Boolean.
Méthodes des instances
Boolean.prototype.toString()Renvoie une chaîne de caractères qui est
"true"ou"false"selon la valeur de l'objet. Il s'agit d'une surcharge de la méthodeObject.prototype.toString().Boolean.prototype.valueOf()Renvoie la valeur primitive de l'objet
Boolean. Il s'agit d'une surcharge de la méthodeObject.prototype.valueOf().
Exemples
>Créer des objetsBoolean dont la valeur initiale estfalse
var bSansParam = new Boolean();var bZero = new Boolean(0);var bNull = new Boolean(null);var bChaineVide = new Boolean("");var bfalse = new Boolean(false);Créer des objetsBoolean dont la valeur initiale esttrue
var bTrue = new Boolean(true);var bChaineTrue = new Boolean("true");var bChaineFalse = new Boolean("false");var bSuLin = new Boolean("Su Lin");var bArrayProto = new Boolean([]);var bObjProto = new Boolean({});Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-boolean-objects> |