Outils pour utilisateurs

Outils du site


jas:jsf

switch

Retour d'un niveau
Retour à l'accueil


Conditions
if else
ternaires


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 ?");

Méthodes pour regrouper différents cas

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 : !

Retour d'un niveau
Retour à l'accueil

jas/jsf.txt · Dernière modification : de 127.0.0.1