Article original : Introduction to JavaScript Switch Cases
Dans cet article court, je vais vous présenter les cas de switch en JavaScript et comment les utiliser avec des exemples pratiques.
Cet article expliquera mieux avec plus d'exemples pratiques pour vous aider à comprendre les cas de switch en profondeur.
Prérequis.
Connaissances de base en JavaScript
Éditeur de code
Navigateur Web
Votre cerveau :)
Une instruction switch peut essentiellement remplacer plusieurs vérifications if en JavaScript.
Elle offre une manière plus descriptive de comparer une valeur avec plusieurs variantes.
La syntaxe du Switch
Le switch a un ou plusieurs blocs case et un cas par défaut optionnel.
switch(x) {
case 'value1': // si (x === 'value1')
//code ici
[break]
case 'value2': // si (x === 'value2')
//code ici
[break]
default:
//code ici
[break]
}
La valeur de
xest vérifiée pour une égalité stricte avec la valeur du premiercase(c'est-à-direvalue1) puis avec le second (value2) et ainsi de suite.Si l'égalité est trouvée,
switchcommence à exécuter le code à partir ducasecorrespondant, jusqu'aubreakle plus proche (ou jusqu'à la fin duswitch).Si aucun cas ne correspond, alors le code
defaultest exécuté (s'il existe).
Quelques exemples réels
- Simple Switch Play & Pause
L'instruction switch peut être utilisée pour plusieurs branches basées sur un nombre ou une chaîne de caractères :
switch (movie) {
case 'play':
playMovie();
break;
case 'pause':
pauseMovie();
break;
default:
doNothing();
}
Si vous n'ajoutez pas d'instruction break, l'exécution "passera" au niveau suivant. Il est essentiel de marquer délibérément le passage avec un commentaire si vous l'avez vraiment voulu pour aider au débogage :
switch (movie) {
case 'play': // passage intentionnel
case 'pause':
pauseMovie();
break;
default:
doNothing();
}
La clause default est optionnelle. Vous pouvez avoir des expressions dans la partie switch et les cas si vous le souhaitez ; les comparaisons ont lieu entre les deux en utilisant l'opérateur === :
switch (3 + 7) {
case 5 + 5:
correct();
break;
default:
neverhappens();
}
- Simple Switch de Calcul Mathématique
let average = 2 + 6;
switch (average) {
case 4:
alert( 'Trop petit' );
break;
case 8:
alert( 'Exactement !' );
break;
case 10:
alert( 'Trop grand' );
break;
default:
alert( "Valeurs incorrectes !" );
}
Ici, le switch commence à comparer average avec la première variante case qui est 4. La correspondance échoue.
Ensuite 8. C'est une correspondance, donc l'exécution commence à partir de case 8 jusqu'au break le plus proche.
Si il n'y a pas de **break**, l'exécution continue avec le prochain **case** sans aucune vérification.
Voici un exemple sans break :
let average = 2 + 6;
switch (average) {
case 4:
alert( 'Trop petit' );
case 8:
alert( 'Exactement !' );
case 10:
alert( 'Trop grand' );
default:
alert( "Valeurs incorrectes !" );
}
Dans l'exemple ci-dessus, nous verrons l'exécution séquentielle de trois alert :
alert( 'Exactement !' );
alert( 'Trop grand' );
alert( "Valeurs incorrectes !" );
- Cas de switch de la méthode getDay()
La méthode getDay() retourne le jour de la semaine sous forme de nombre entre 0 et 6.
Dimanche=0, Lundi=1, Mardi=2, Mercredi=3, Jeudi=4, Vendredi=5, Samedi=6
Cet exemple utilise le numéro du jour de la semaine pour calculer le nom du jour de la semaine :
switch (new Date().getDay()) {
case 0:
day = "Dimanche";
break;
case 1:
day = "Lundi";
break;
case 2:
day = "Mardi";
break;
case 3:
day = "Mercredi";
break;
case 4:
day = "Jeudi";
break;
case 5:
day = "Vendredi";
break;
case 6:
day = "Samedi";
}
Le résultat de day sera le jour de la semaine actuel au format jour.
PS : Cela changera selon le moment où vous lisez cet article.
J'ai écrit cet article le 13/06/2019, qui est un jeudi, donc le résultat serait :
Jeudi
Le mot-clé default
Le mot-clé default spécifie le code à exécuter s'il n'y a pas de correspondance de cas, un peu comme une instruction else :
switch (new Date().getDay()) {
case 6:
text = "Aujourd'hui, c'est samedi";
break;
case 0:
text = "Aujourd'hui, c'est dimanche";
break;
default:
text = "Ce n'est pas encore le week-end !";
}
Le résultat de text sera :
Ce n'est pas encore le week-end !
Le cas default n'a pas besoin d'être le dernier cas dans un bloc switch :
switch (new Date().getDay()) {
default:
text = "Ce n'est pas encore le week-end !";
break;
case 6:
text = "Aujourd'hui, c'est samedi";
break;
case 0:
text = "Aujourd'hui, c'est dimanche";
}
Si default n'est pas le dernier cas dans le bloc switch, n'oubliez pas de terminer le cas default par un break.
Conclusion
Il existe de nombreux exemples pratiques de cas de switch, vous pouvez vous rendre sur google.com et effectuer une recherche rapide pour plus d'exemples de cas de switch.
Si cet article vous a aidé, montrez-le en le partageant.
Merci d'avoir lu !