🎭 Truthy & Falsy : En JavaScript, Rien n’est Toujours Ce Qu’il Semble Être

🎭 Truthy & Falsy : En JavaScript, Rien n’est Toujours Ce Qu’il Semble Être

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 else s’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 inputName est 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 :

  • null
  • undefined

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 đŸ˜ŽđŸ’»

Comments

No comments yet. Why don’t you start the discussion?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile ißaretlenmißlerdir