Vai al contenuto

JavaScript – Switch

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *