Get to know MDN better
Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
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.
Les valeurs Boolean peuvent être l'une des deux valeurs : true ou false, représentant la valeur de vérité d'une proposition logique.
Les valeurs booléennes sont généralement produites par les opérateurs relationnels, les opérateurs d'égalité et l'opérateur logique NOT (!). Elles peuvent aussi être produites par des fonctions qui représentent des conditions, comme Array.isArray(). Notez que les opérateurs logiques binaires tels que && et || retournent les valeurs des opérandes, qui peuvent ou non être des valeurs booléennes.
Les valeurs booléennes sont généralement utilisées dans des tests conditionnels, comme la condition des instructions if...else et while, l'opérateur conditionnel (? :) ou la valeur de retour prédicat de Array.prototype.filter().
Vous aurez rarement besoin de convertir explicitement quelque chose en une valeur booléenne, car JavaScript le fait automatiquement dans les contextes booléens, vous pouvez donc utiliser n'importe quelle valeur comme si c'était un booléen, en fonction de son équivalent à vrai. Il est conseillé d'utiliser if (condition) et if (!condition) plutôt que if (condition === true) ou if (condition === false) dans votre code afin de profiter de cette convention. Cependant, veiller à ce que les valeurs représentant des conditions soient toujours des booléens peut aider à clarifier l'intention de votre code.
Pour convertir des valeurs non booléennes en booléen, utilisez Boolean comme fonction ou l'opérateur de double négation. N'utilisez pas le constructeur Boolean() avec new.
En effet, tous les objets, y compris un objet Boolean dont la valeur encapsulée est false, sont équivalent à vrai et sont évalués à true dans des endroits comme les instructions conditionnelles. (Voir aussi la section coercition booléenne ci‑dessous.)
Attention : Il est rarement nécessaire d'utiliser Boolean comme constructeur.
De nombreuses opérations intégrées qui attendent des booléens convertissent d'abord leurs arguments en booléens. L'opération (angl.) peut être résumée ainsi :
Note : Un comportement historique fait que document.all retourne false lorsqu'il est utilisé comme booléen, malgré le fait que c'est un objet. Cette propriété est historique et non standard et ne doit pas être utilisée.
Note : Contrairement à d'autres conversions de type comme la conversion en chaîne de caractères ou la conversion en nombre, la conversion booléenne n'essaie pas de convertir les objets en valeurs primitives en appelant des méthodes définies par l'utilisateur·ice.
En d'autres termes, seules quelques valeurs sont converties en false — ce sont les valeurs équivalentes à faux. Toutes les autres valeurs sont des valeurs équivalentes à vrai. L'équivalence à vrai d'une valeur est importante lorsqu'elle est utilisée avec des opérateurs logiques, des instructions conditionnelles ou tout contexte booléen.
Il existe deux façons d'obtenir le même effet en JavaScript.
Notez que l'équivalent à vrai n'est pas la même chose que d'être faiblement égal à true ou false.
[] est équivalent à vrai, mais il est aussi faiblement égal à false. Il est équivalent à vrai, car tous les objets sont équivalents à vrai. Cependant, lors d'une comparaison avec false, qui est une valeur primitive, [] est aussi converti en une valeur primitive, qui est "" via Array.prototype.toString(). Comparer des chaînes de caractères et des booléens fait que les deux sont convertis en nombres, et ils deviennent tous deux 0, donc [] == false vaut true. En général, l'équivalence à faux et == false diffèrent dans les cas suivants :
Les valeurs équivalentes à vrai sont encore moins susceptibles d'être faiblement égales à true. Toutes les valeurs sont soit équivalentes à vrai, soit équivalentes à faux, mais la plupart des valeurs ne sont faiblement égales ni à true ni à false.
Crée un nouvel objet Boolean.
Ces propriétés sont définies sur Boolean.prototype et partagées par toutes les instances de Boolean.
Boolean.prototype.constructorLa fonction constructeur qui a créé l'objet instance. Pour les instances de Boolean, la valeur initiale est le constructeur Boolean().
Retourne 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éthode Object.prototype.toString().
Boolean.prototype.valueOf()Retourne la valeur primitive de l'objet Boolean. Il s'agit d'une surcharge de la méthode Object.prototype.valueOf().
| ECMAScript® 2027 Language Specification # sec-boolean-objects |
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Cette page a été modifiée le 16 déc. 2025 par les contributeur·ice·s du MDN.
Votre modèle pour un internet meilleur.
Visitez la société mère à but non lucratif de Mozilla Corporation, la Fondation Mozilla.
Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—2026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.