Truthy et falsy
Tu sais convertir avec String(), Number() et Boolean(). Ensuite : comment les valeurs se comportent dans une décision — avant le grand chapitre if / else. Celles qui agissent comme « non » sont falsy. Presque tout le reste est truthy. Apprends une fois la courte liste falsy ; tu éviteras bien des confusions.
Que sont truthy et falsy en JavaScript ?
Falsy signifie : dans une condition, JavaScript traite la valeur comme false. Truthy signifie : comme true. Ce n’est pas un nouveau type — les mêmes nombres et chaînes. Prévisualise avec Boolean(value) ou écris if (value) : même règle. Au début, la liste falsy suffit ; le reste est souvent truthy.
La liste falsy
📊 Valeurs falsy à connaître
| Valeur | Pourquoi « vide / non » | Note |
|---|---|---|
false |
le non booléen | mot-clé |
0 |
zéro numérique | aussi -0 |
"" |
chaîne vide | longueur 0 |
null |
vide volontaire | leçon précédente |
undefined |
pas encore de valeur | leçon précédente |
NaN |
nombre échoué | typeof reste "number" |
C’est toute la liste de départ. Mémorise falsy, pas un catalogue infini de truthy. Hors liste, considère la valeur truthy jusqu’à preuve du contraire.
Voir falsy avec Boolean()
Boolean(...) donne une vue claire. Chaque entrée de la liste devient false.
console.log(Boolean(false));
console.log(Boolean(0));
console.log(Boolean(""));
console.log(Boolean(null));
console.log(Boolean(undefined));
console.log(Boolean(NaN));
Pour un débutant, le défaut est truthy
Chaînes non vides, la plupart des nombres et true lui-même sont truthy. Les premières surprises sont souvent des textes qui ont l’air de « non » mais contiennent des caractères.
console.log(Boolean(1));
console.log(Boolean(-3));
console.log(Boolean("hi"));
console.log(Boolean("0"));
console.log(Boolean("false"));
console.log(Boolean(" "));
"0" et "false" sont truthy car ce sont des textes non vides. Un espace " " l’est aussi — parmi les chaînes ordinaires, seul "" (longueur zéro) est falsy.
if sans appeler Boolean()
Un simple if (value) applique la même règle. Pas besoin de if (Boolean(value)). Le branchement complet vient plus tard ; ici, juste la porte oui/non.
let name = "Ada";
if (name) {
console.log("name is truthy");
}
let empty = "";
if (empty) {
console.log("will not run");
} else {
console.log("empty string is falsy");
}
Pièges de chaînes : "0" et "false"
Formulaires et API envoient souvent du texte. La chaîne "0" n’est pas le nombre 0. La chaîne "false" n’est pas le booléen false. Les deux sont truthy.
console.log(Boolean("0"));
console.log(Boolean(0));
console.log(Boolean("false"));
console.log(Boolean(false));
console.log("0" === 0);
Chaîne vide vs un espace
Parmi les chaînes ordinaires, seul "" de longueur zéro est falsy. Un espace reste du contenu.
console.log(Boolean(""));
console.log(Boolean(" "));
console.log("".length);
console.log(" ".length);
Contrôler le message de page avec une valeur
Décide ce que voit le visiteur avec une seule valeur. Change-la et rafraîchis.
<!DOCTYPE html>
<html>
<head>
<title>Truthy falsy — page gate</title>
</head>
<body>
<p id="msg">…</p>
<script>
let user = "Sam";
let box = document.getElementById("msg");
if (user) {
box.textContent = "Hello, " + user;
} else {
box.textContent = "Please sign in";
}
</script>
</body>
</html>
Mets user à "" ou null, rafraîchis : le message passe à la ligne de connexion. Même règle falsy — sur la page.
À toi de jouer
- Affiche
Booleanpour chaque élément de la liste falsy. - Affiche
Boolean("0")etBoolean(0)côte à côte. - Affiche
Boolean(" ")etBoolean("")— espace vs vide. - Écris un petit
if (score)avecscore = 0, puisscore = 5. - Dans la démo HTML, mets
user = "", rafraîchis et lis le message. - Mets
userà"0": le salut s’affiche encore (chaîne truthy).
Erreurs fréquentes
- Traiter
"false"ou"0"comme falsy — ce sont des chaînes non vides - Croire qu’il faut toujours envelopper
Boolean()—if (value)coerce déjà - Mémoriser tous les truthy au lieu de la courte liste falsy
- Confondre le nombre
0(falsy) et la chaîne"0"(truthy) - Oublier
null,undefinedouNaNdans la liste
Résumé
- Falsy : agit comme
falsedans une condition — apprends la courte liste - Truthy : agit comme
true— la plupart des valeurs du quotidien - Aperçu avec
Boolean(value)ou directementif (value) - Pièges :
"0"et"false"sont truthy - Suite : les opérateurs — symboles pour calculer et comparer
🧠 Testez Vos Connaissances
Testez Vos Connaissances
Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet
📝 Instructions
- Lisez chaque question attentivement
- Sélectionnez la meilleure réponse pour chaque question
- Vous pouvez refaire le quiz autant de fois que vous le souhaitez
- Votre progression sera affichée en haut