La façon fun et professionnelle d’échapper au chaos des if–else
À un moment donné, ça arrive à tous les développeurs JavaScript :
if (x === 1) {
} else if (x === 2) {
} else if (x === 3) {
} else if (x === 4) {
} else {
}
En écrivant ce code, ta petite voix intérieure murmure :
« Je suis développeur… pourquoi est-ce que je souffre autant ? » 😩
C’est exactement à ce moment-là que le switch statement entre en scène et dit :
« Détends-toi… je suis là. » 😌
🤔 Qu’est-ce qu’un Switch Statement ? (Version vie réelle)
Imagine switch comme un central téléphonique automatique 📞
- Tu lui donnes une valeur
- Switch prend cette valeur
- Il regarde autour de lui et demande :
« Cette valeur correspond à quelle porte ? » - Il ouvre la bonne porte
💡 En résumé, si tu as :
- Une seule variable
- Plusieurs scénarios possibles
- Des résultats clairs
→ switch est parfaitement adapté 👌
🧱 L’anatomie de base du Switch Statement (Version musclée 💪)
switch (valueToCheck) {
case possibleCase1:
// faire quelque chose
break;
case possibleCase2:
// faire quelque chose
break;
default:
// si rien ne correspond
}
🧠 Décomposons tout ça
| Élément | Rôle |
|---|---|
switch | Le centre de contrôle |
case | La version switch de « si c’est ça » |
break | « Stop, on s’arrête ici ! » |
default | Le dernier recours, plan B |
📅 Exemple 1 : Analyse de l’humeur selon les jours
(Pas scientifique, mais très réaliste 😄)
let day = "Monday";
switch (day) {
case "Monday":
console.log("Le café n’a pas suffi ☕😵");
break;
case "Tuesday":
console.log("Toujours pas réveillé...");
break;
case "Friday":
console.log("Plus que 3 heures avant la liberté 🎉");
break;
case "Saturday":
case "Sunday":
console.log("La vie est belle 😌");
break;
default:
console.log("C’est quel jour ça ? 🤔");
}
🔍 Que se passe-t-il ici ?
SaturdayetSundayproduisent le même résultat- On n’a pas mis de
breakentre eux volontairement - Le code est clair, lisible et propre
🧠 Astuce pro :
Empiler plusieurs case qui partagent le même résultat est l’un des super-pouvoirs cachés de switch 🦸♂️
⚠️ Que se passe-t-il si on oublie break ?
(Le côté obscur du switch 😈)
let level = 1;
switch (level) {
case 1:
console.log("Débutant");
case 2:
console.log("Confirmé");
case 3:
console.log("Expert");
}
📢 Résultat :
Débutant
Confirmé
Expert
😱 Pourquoi ?
- JavaScript n’a pas vu de
break - Et a dit : « Bon… on continue alors. »
🧠 Leçon :
Sans break, le switch ne s’arrête pas, il enchaîne.
🎯 Réflexe professionnel :
Ajoute automatiquement break après chaque case.
Puis enlève-le uniquement quand c’est intentionnel 😉
🧮 Exemple 2 : Une mini-calculatrice avec Switch
let operation = "*";
let a = 6;
let b = 7;
switch (operation) {
case "+":
console.log("Somme :", a + b);
break;
case "-":
console.log("Différence :", a - b);
break;
case "*":
console.log("Produit :", a * b);
break;
case "/":
console.log("Quotient :", a / b);
break;
default:
console.log("Opération inconnue ❌");
}
🧠 Qu’avons-nous appris ?
- Menus
- Choix dans les jeux
- Calculatrices
- Panneaux de réglages
👉 C’est l’habitat naturel du switch 🏞️
🎮 Exemple 3 : Sélection d’un personnage de jeu (Level Up !)
let character = "mage";
switch (character) {
case "warrior":
console.log("Épée + force 💪");
break;
case "mage":
console.log("Magie + intelligence 🧙♂️");
break;
case "archer":
console.log("Arc + agilité 🏹");
break;
default:
console.log("Personnage inconnu");
}
📌 Où l’utilise-t-on dans la vraie vie ?
- Jeux
- Sélection de rôles
- Systèmes d’autorisation
🆚 Switch ou If–Else ?
(Qui monte sur le ring ? 🥊)
✅ Utilise Switch quand :
- Il y a une seule variable
- Les valeurs sont fixes
- La lisibilité est importante
✅ Utilise If–Else quand :
- Tu as des comparaisons comme
> < && || - La logique est complexe
- Les conditions sont dynamiques
🧠 Règle d’or :
« Switch est simple, if–else est flexible. »
⚠️ Switch utilise une comparaison stricte (Alerte === 🚨)
switch (10) {
case "10":
console.log("String");
break;
case 10:
console.log("Number");
break;
}
📢 Résultat :
Number
👉 Parce que switch :
- Ne fait pas de conversion de type
- Se comporte comme
===
🧠 Astuce :
Si tu n’es pas sûr du type de la valeur, switch peut te décevoir 😅
🧩 Bonus : Utiliser Switch plus intelligemment
✔️ Tu peux appeler des fonctions dans les case
case "login":
loginUser();
break;
✔️ Ne saute jamais default
default = ta zone de capture d’erreurs 🎯
❌ Évite la logique complexe dans les case
Switch aime la simplicité — il déteste le drama 😄
🎯 Conclusion : Tu maîtrises maintenant Switch
Maintenant, tu sais :
- Ce qu’est un switch
- Où il est le plus efficace
- Quand laisser la place à if–else
🎉 Niveau supérieur débloqué !
