| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Boolean#description | [Back] [Original] |
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, reprsentant la valeur de vrit d'une proposition logique.
Les valeurs boolennes sont gnralement produites par les oprateurs relationnels, les oprateurs d'galit et l'oprateur logique NOT (!). Elles peuvent aussi tre produites par des fonctions qui reprsentent des conditions, comme Array.isArray(). Notez que les oprateurs logiques binaires tels que && et || retournent les valeurs des oprandes, qui peuvent ou non tre des valeurs boolennes.
Les valeurs boolennes sont gnralement utilises dans des tests conditionnels, comme la condition des instructions if...else et while, l'oprateur conditionnel (? :) ou la valeur de retour prdicat de Array.prototype.filter().
Vous aurez rarement besoin de convertir explicitement quelque chose en une valeur boolenne, car JavaScript le fait automatiquement dans les contextes boolens, vous pouvez donc utiliser n'importe quelle valeur comme si c'tait un boolen, en fonction de son quivalent vrai. Il est conseill d'utiliser if (condition) et if (!condition) plutt que if (condition === true) ou if (condition === false) dans votre code afin de profiter de cette convention. Cependant, veiller ce que les valeurs reprsentant des conditions soient toujours des boolens peut aider clarifier l'intention de votre code.
// Faites ceci :
// a retourne toujours une valeur boolenne
const isObject = (obj) => !!obj && typeof obj === "object";
// Ou ceci :
const isObject = (obj) => Boolean(obj) && typeof obj === "object";
// Ou ceci :
const isObject = (obj) => obj !== null && typeof obj === "object";
// Au lieu de ceci :
// Cela peut retourner des valeurs falsy qui ne sont pas gales false
const isObject = (obj) => obj && typeof obj === "object";
BooleanPour convertir des valeurs non boolennes en boolen, utilisez Boolean comme fonction ou l'oprateur de double ngation. N'utilisez pas le constructeur Boolean() avec new.
const good = Boolean(expression);
const good2 = !!expression;
const bad = new Boolean(expression); // n'utilisez pas ceci !
En effet, tous les objets, y compris un objet Boolean dont la valeur encapsule est false, sont quivalent vrai et sont valus true dans des endroits comme les instructions conditionnelles. (Voir aussi la section coercition boolenne cidessous.)
if (new Boolean(true)) {
console.log("Ce journal est affich.");
}
if (new Boolean(false)) {
console.log("Ce journal est AUSSI affich.");
}
const myFalse = new Boolean(false); // myFalse est un objet Boolean (pas la valeur primitive false)
const g = Boolean(myFalse); // g vaut true
const myString = new String("Hello"); // myString est un objet String
const s = Boolean(myString); // s vaut true
Attention :
Il est rarement ncessaire d'utiliser Boolean comme constructeur.
De nombreuses oprations intgres qui attendent des boolens convertissent d'abord leurs arguments en boolens. L'opration (angl.) peut tre rsume ainsi :
undefined devient false.null devient false.0, -0 et NaN deviennent false ; les autres nombres deviennent true.0n devient false ; les autres BigInts deviennent true."" devient false ; les autres chanes de caractres deviennent true.true.true.Note :
Un comportement historique fait que document.all retourne false lorsqu'il est utilis comme boolen, malgr le fait que c'est un objet. Cette proprit est historique et non standard et ne doit pas tre utilise.
Note : Contrairement d'autres conversions de type comme la conversion en chane de caractres ou la conversion en nombre, la conversion boolenne n'essaie pas de convertir les objets en valeurs primitives en appelant des mthodes dfinies par l'utilisateurice.
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 utilise avec des oprateurs logiques, des instructions conditionnelles ou tout contexte boolen.
Il existe deux faons d'obtenir le mme effet en JavaScript.
!!x fait la ngation de x deux fois, ce qui convertit x en boolen en utilisant le mme algorithme que ci-dessus.Boolean() : Boolean(x) utilise le mme algorithme que ci-dessus pour convertir x.Notez que l'quivalent vrai n'est pas la mme chose que d'tre faiblement gal true ou false.
if ([]) {
console.log("[] est quivalent vrai");
}
if ([] == false) {
console.log("[] == false");
}
// [] est quivalent vrai
// [] == 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 chanes de caractres et des boolens fait que les deux sont convertis en nombres, et ils deviennent tous deux 0, donc [] == false vaut true. En gnral, l'quivalence faux et == false diffrent dans les cas suivants :
NaN, undefined et null sont quivalents faux mais ne sont pas faiblement gaux false."0" (et d'autres littraux de chane de caractres qui ne sont pas "" mais sont convertis en 0) est quivalent vrai mais faiblement gal false.false.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.
Boolean()Cre un nouvel objet Boolean.
Ces proprits sont dfinies sur Boolean.prototype et partages 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().
Boolean.prototype.toString()Retourne une chane de caractres qui est "true" ou "false" selon la valeur de l'objet. Il s'agit d'une surcharge de la mthode Object.prototype.toString().
Boolean.prototype.valueOf()Retourne la valeur primitive de l'objet Boolean. Il s'agit d'une surcharge de la mthode Object.prototype.valueOf().
falseconst bSansParam = Boolean();
const bZero = Boolean(0);
const bNull = Boolean(null);
const bChaineVide = Boolean("");
const bfalse = Boolean(false);
trueconst btrue = Boolean(true);
const bChaineTrue = Boolean("true");
const bChaineFalse = Boolean("false");
const bSuLin = Boolean("Su Lin");
const bArrayProto = Boolean([]);
const bObjProto = Boolean({});
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-boolean-objects |
Cette page a t modifie le 16 dc. 2025 par les contributeurices du MDN.
BooleanObject/FunctionObject.prototype.__defineGetter__()Object.prototype.__defineSetter__()Object.prototype.__lookupGetter__()Object.prototype.__lookupSetter__()Object.prototype.hasOwnProperty()Object.prototype.isPrototypeOf()Object.prototype.propertyIsEnumerable()Object.prototype.toLocaleString()Object.prototype.toString()Object.prototype.valueOf()Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |