Espressione switch ECMAScript

Frase switch

La frase switch è sorella della frase if.

I sviluppatori possono fornire una serie di casi (case) all'espressione utilizzando la frase switch.

Sintassi della frase switch:

switch (expression)
  case value: statement;
    break;
  case value: statement;
    break;
  case value: statement;
    break;
  case value: statement;
    break;
...
  case value: statement;
    break;
  default: statement;

Ogni caso (case) rappresenta 'se' expression uguale a value,esegue statement

La parola chiave break fa uscire il codice dalla frase switch. Senza la parola chiave break, l'esecuzione del codice continua nel caso successivo.

La parola chiave default indica l'operazione da eseguire quando il risultato dell'espressione non corrisponde a nessuna delle situazioni (in realtà, è equivalente alla clausola else).

La frase switch è principalmente per evitare che gli sviluppatori scrivano il codice di seguito:

if (i == 20)
  alert("20");
else if (i == 30)
  alert("30");
else if (i == 40)
  alert("40");
else
  alert("other");

La frase switch equivalente è così:

switch (i) {
  case 20: alert("20");
    break;
  case 30: alert("30");
    break;
  case 40: alert("40");
    break;
  default: alert("other");
}

Frase switch in ECMAScript e Java

Ci sono due differenze tra la frase switch in ECMAScript e Java. In ECMAScript, la frase switch può essere utilizzata per stringhe e può descrivere situazioni con valori non costanti:

var BLUE = "blue", RED = "red", GREEN = "green";
switch (sColor) {
  case BLUE: alert("Blue");
    break;
  case RED: alert("Red");
    break;
  case GREEN: alert("Green");
    break;
  default: alert("Other");
}

Qui, la frase switch viene utilizzata per la stringa sColor, la dichiarazione case utilizza le variabili BLUE, RED e GREEN, il che è completamente valido in ECMAScript.