Chargement...

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.

Carte falsy avec Boolean()

javascript
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.

Exemples truthy pour débuter

javascript
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.

if utilise truthy et falsy

javascript
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.

Pièges de chaînes d’apparence falsy

javascript
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.

Chaîne vide vs un espace

javascript
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.

Porte de page avec truthy / falsy

html
<!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

  1. Affiche Boolean pour chaque élément de la liste falsy.
  2. Affiche Boolean("0") et Boolean(0) côte à côte.
  3. Affiche Boolean(" ") et Boolean("") — espace vs vide.
  4. Écris un petit if (score) avec score = 0, puis score = 5.
  5. Dans la démo HTML, mets user = "", rafraîchis et lis le message.
  6. 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, undefined ou NaN dans la liste

Résumé

  • Falsy : agit comme false dans une condition — apprends la courte liste
  • Truthy : agit comme true — la plupart des valeurs du quotidien
  • Aperçu avec Boolean(value) ou directement if (value)
  • Pièges : "0" et "false" sont truthy
  • Suite : les opérateurs — symboles pour calculer et comparer

🧠 Testez Vos Connaissances

Prêt à Commencer

Testez Vos Connaissances

Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet

❓
8
Questions
🎯
70%
Pour Réussir
♾️
∞
Temps
🔄
∞
Tentatives

📝 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