In caso di diverse alternative ben definite, come possono essere i voti, i giorni della settimana, può essere utile usare l’istruzione switch che può essere una valida alternativa all’uso di if – else – else if.
Con switch necessitiamo un’espressione che dia un risultato. I vari casi di risultato sono poi selezionati con l’espressione case. Successivamente saranno definite le istruzione da compiere.
switch (espressione) {
case espressione1:
istruzioni1;
break;
case espressione2:
istruzioni2;
break;
// ...
default:
istruzioni4;
break;
}
Ad esempio a sceconda del giorno della settimana verrà visualizzato un messaggio diverso per giovedì e venerdì (caso 4 e 5), sabato e domenica (caso 6 e 0), e per tutti gli altri (caso di default).
È consigliato inserire un break per bloccare le successive istruzioni.
switch (new Date().getDay()) {
case 4:
case 5:
text = "Soon it is Weekend";
break;
case 0:
case 6:
text = "It is Weekend";
break;
default:
text = "Looking forward to the Weekend";
}
Altri esempi:
switch (x%2) {
case 0:
messaggio = x + " è pari";
break;
case 1:
messaggio = x + " è dispari";
break;
default:
messaggio = x + " non è un numero";
break;
}
switch (voto) {
case 1:
case 2:
case 3:
case 4:
case 5:
giudizio = "insufficiente";
break;
case 6:
giudizio = "sufficiente";
break;
case 7:
giudizio = "discreto";
break;
case 8:
giudizio = "buono";
break;
case 9:
giudizio = "ottimo";
break;
case 10:
giudizio = "eccellente";
break;
default:
messaggio = "non classificato";
break;
}
switch (expr) {
case "Arance":
console.log("Le arance costano €1,0 al chilo.");
break;
case "Mele":
console.log("Le mele costano €0.64 al chilo.");
break;
case "Banane":
console.log("Le banane costano €0.92 al chilo.");
break;
case "Ciliege":
console.log("Le ciliegie costano €2.59 al chilo.");
break;
case "Manghi":
case "Papaye":
console.log("I manghi e le papaye costano €1.79 al chilo.");
break;
default:
console.log("Spiacenti, non abbiamo " + expr + ".");
}
console.log("Desidera qualcos'altro ?");