Retour d'un niveau
Retour à l'accueil
Le switch évalue une expression et, selon le résultat obtenu et un cas de figure correspondant, exécute les instructions correspondantes.
Exemple: la variable expr vaut “Bananes”
switch (expr) { case "Oranges": console.log("Oranges : 0.59 € le kilo."); break; // le break permet l’arrêt de l'instruction case "Pommes": console.log("Pommes : 0.32 € le kilo."); break; case "Bananes": console.log("Bananes : 0.48 € le kilo."); // c'est cette instruction qui sera exécutée break; // il n'y aurait pas de "break" à caus d'un oubli, l'instruction suivante est exécutée aussi case "Cerises": console.log("Cerises : 3.00 € le kilo."); break; case "Mangues": case "Papayes": console.log("Mangues et papayes : 2.79 € le kilo."); break; default: // si aucune correspondance n'est trouvée c'est celle-ci qui est exécutée par défaut console.log("Désolé, nous n'avons plus de " + expr + "."); } console.log("Autre chose ?");
Regrouper différents cas pour exécuter une unique opération
On utilise cette méthode que s'il n'y a pas d'instructions “break”, l'exécution se poursuivra avec les cas instructions des cas suivants (même si les expressions de ces cas ne correspondent pas à la valeur de l'expression d'entrée).
var animal = 'girafe'; switch (animal) { case 'vache': case 'girafe': case 'chien': case 'cochon': console.log('Cet animal est un mammifère''); break; case 'oiseau': default: console.log('Cet animal n\'est pas un mammifère.'); }
Chaîner des opérations
Dans l'exemple qui suit, on illustre comment exécuter une série d'instructions qui varie en fonction du paramètre (ici un entier) fourni. Cela montre que les différents cas sont testés dans l'ordre dans lequel ils sont mis au sein du switch :
var toto = 1; var output = 'Résultat : '; switch (toto) { case 10: output += 'Donc '; case 1: output += 'quel '; output += 'est '; case 2: output += 'votre '; case 3: output += 'nom '; case 4: output += '?'; console.log(output); break; case 5: output += '!'; console.log(output); break; default: console.log('Veuillez choisir un nombre entre 0 et 6 !'); }
Selon les valeurs fournies à la variable toto, on aura les résultats suivants :
Valeur Texte toto vaut NaN ou est différent de 1, 2, 3, 4, 5 ou 10 Veuillez choisir un nombre entre 0 et 6 ! 10 Résultat : Donc quel est votre nom ? 1 Résultat : quel est votre nom ? 2 Résultat : votre nom ? 3 Résultat : nom ? 4 Résultat : ? 5 Résultat : !