JavaScript te fait parfois un clin dâĆil et te dit :
« Techniquement ce nâest pas false⊠mais laisse-moi rĂ©flĂ©chir » đ€š
Cet article est Ă©crit pour tâaider Ă comprendre la psychologie de JavaScript autour du vrai et du faux.
Dans ce contenu, nous allons :
- Explorer le concept de Truthy & Falsy, des bases jusquâĂ la maĂźtrise
- Voir beaucoup dâexemples de code sous chaque titre
- Expliquer chaque exemple ligne par ligne, en langage humain
- Nettoyer un Ă un les piĂšges rĂ©els qui produisent des bugs đ§č
Si tu es prĂȘt·e, on commence⊠prends ton cafĂ© âđ
đ§ Que sont Truthy & Falsy ? (Vraiment en langage humain)
En JavaScript, tout nâest pas strictement true ou false.
Mais JavaScript pose souvent cette question :
« Est-ce que ça donne lâimpression dâĂȘtre vrai ? »
Câest lĂ que truthy et falsy entrent en jeu.
đ DĂ©finition :
- Falsy â valeurs qui se comportent comme
false - Truthy â valeurs qui se comportent comme
true
Point important đ
MĂȘme si une valeur nâest pas un boolĂ©en, JavaScript la convertit en boolĂ©en dans les conditions.
if ("hello") {
console.log("Ăa a marchĂ©");
}
đ§ Explication :
"hello"nâest pas un boolĂ©en- Mais JavaScript lâinterprĂšte comme true
â Valeurs Falsy (La Liste dâOr â Ă MĂMORISER)
Il existe SEULEMENT 8 valeurs falsy en JavaScript. Point final.
false
0
-0
0n
""
null
undefined
NaN
đ§ RĂšgle facile Ă retenir :
Tout ce qui nâest pas dans cette liste est truthy.
đŹ Mini Test
if ("") {
console.log("Tu ne me verras pas");
} else {
console.log("Parce que câest une chaĂźne vide");
}
đ Explication :
""â chaĂźne vide- ChaĂźne vide â falsy
- Câest pourquoi le
elsesâexĂ©cute
â Valeurs Truthy (Faits Surprenants)
Tout ce qui nâest pas falsy est truthy.
Oui⊠tout đ
đ€Ż Exemples Truthy les Plus Surprenants
if ([]) console.log("Tableau vide mais true");
if ({}) console.log("Objet vide mais true");
if (" ") console.log("Espace mais true");
if ("0") console.log("Zéro en string mais true");
if ("false") console.log("Mot false mais true");
đ§ Explication :
- Le tableau existe â truthy
- Lâobjet existe â truthy
- Il y a des caractĂšres â truthy
JavaScript dit :
« Câest peut-ĂȘtre vide⊠mais ça existe. »
â ïž Les PiĂšges les Plus Courants (Zone Ă Bugs)
đš PiĂšge 1 : VĂ©rifier un Tableau Vide
const items = [];
if (items) {
console.log("La liste existe");
}
â Ceci sâexĂ©cute toujours.
đ§ Pourquoi ?
- Parce que
[]â truthy
â VĂ©rification correcte :
if (items.length > 0) {
console.log("Vraiment pas vide");
}
đš PiĂšge 2 : Le ProblĂšme du Nombre 0
let score = 0;
if (score) {
console.log("Le score existe");
}
â Ceci ne sâexĂ©cute pas.
đ§ Parce que :
0â falsy
â VĂ©rification sĂ»re :
if (score !== null && score !== undefined) {
console.log("Le score est défini");
}
đš PiĂšge 3 : Valeurs par DĂ©faut avec ||
const username = inputName || "Guest";
đ§ Que se passe-t-il ?
- Si
inputNameest falsy â"Guest"
Mais :
const score = userScore || 10;
Si userScore = 0 ?
đ Le rĂ©sultat devient 10 đŹ
â Solution Moderne : Nullish Coalescing
const score = userScore ?? 10;
đ§ ?? vĂ©rifie uniquement :
nullundefined
Il ne se bat pas avec 0 â€ïž
đ§Ș Forcer le BoolĂ©en (Reprendre le ContrĂŽle)
đč La Fonction Boolean()
Boolean(0); // false
Boolean("JS"); // true
Boolean([]); // true
Boolean(null); // false
đ§ Lisible, mais un peu verbeux.
đč LâOpĂ©rateur !! (Technique Ninja JS đ„·)
!!"hello" // true
!!0 // false
!![] // true
đ§ Explication :
- Premier
!â inverse - DeuxiĂšme
!â inverse Ă nouveau - RĂ©sultat â un boolĂ©en clair
đ§ Cas dâUtilisation RĂ©els
âïž Validation de Formulaire
if (email && password) {
submitForm();
}
đ Les deux valeurs doivent ĂȘtre truthy pour envoyer le formulaire.
âïž Rendu Conditionnel
isLoggedIn && showDashboard();
đ§ Court, propre, lisible.
đŠ Erreurs les Plus FrĂ©quentes
â Ignorer 0 comme valeur valide
â Penser que les tableaux vides sont falsy
â Utiliser || partout
â MĂ©moriser truthy/falsy sans comprendre
đ RĂšgles dâOr (Ă Sauvegarder)
⚠Mémorise la liste falsy
âš Sois explicite dans les contrĂŽles critiques
âš PrĂ©fĂšre ?? Ă || quand câest nĂ©cessaire
âš Code lisible > code court
đŹ Mot de la Fin
Truthy & Falsy est lâun des sujets les plus petits mais les plus dangereux de JavaScript.
Une fois compris :
- Les bugs diminuent
- Les conditions deviennent plus claires
- JavaScript te surprend beaucoup moins đ
Et ouiâŠ
tu montes officiellement de niveau en JavaScript đđ»

