Évaluation booléenne en JavaScript
1. Valeurs truthy et falsy
JavaScript évalue certaines valeurs comme vraies (truthy) ou fausses (falsy) dans un contexte booléen.
Valeurs falsy
- false
- 0
- -0
- 0n
- ""
- null
- undefined
- NaN
Exemples
if ("hello") console.log("truthy");
if (0) console.log("truthy");
2. Opérateurs logiques
&& (AND)
true && "ok" // "ok"
0 && "test" // 0
"hello" && 42 // 42
|| (OR)
false || "ok" // "ok"
"" || 123 // 123
null || "default" // "default"
! (NOT)
!true // false
!0 // true
!!"hi" // true
3. Short-circuiting
Avec &&
false && doSomething(); // doSomething() n'est pas exécuté
Avec ||
"hello" || doSomething(); // doSomething() n'est pas exécuté
Valeur par défaut
let name = userName || "Anonyme";
Exécuter une action si condition truthy
isLoggedIn && showDashboard();
4. Comparaison : == vs ===
=== (strict)
0 === false // false
"1" === 1 // false
== (faible)
0 == false // true
"1" == 1 // true
null == undefined // true
5. Exemples d'évaluation
Exemple 1
if ("0") console.log("ok");
Exemple 2
let x = null;
console.log(x || "vide"); // "vide"
Exemple 3
let a = 5 && 0 && 10; // 0
6. Résumé
- JS convertit automatiquement les valeurs en truthy/falsy.
- && et || retournent des valeurs, pas seulement des booléens.
- Le short-circuiting optimise l'évaluation.
- === est recommandé pour éviter les conversions implicites.