ECMAScript switch sætning

switch-sætningen

switch-sætningen er en bror til if-sætningen.

Udviklere kan bruge switch-sætningen til at tilbyde en række situationer (case) til en udtryk.

switch-sætningens syntaks:

switch (udtryk)
  case lig med: statement;
    break;
  case lig med: statement;
    break;
  case lig med: statement;
    break;
  case lig med: statement;
    break;
...
  case lig med: statement;
    break;
  default: statement;

Hver situation (case) repræsenterer "hvis", udtryk expression lig medudføres statement

Nøglen break får koden til at forlade switch-sætningen. Hvis der ikke er en break, vil koden fortsætte med at køre ind i næste case.

Nøglen default specificerer handlingen, der skal udføres, når resultaterne af udtrykket ikke matcher nogen af tilfældene (faktisk er det i modsætning til else-sætningen).

Switch-sætningen bruges primært til at undgå, at udviklere skal skrive den følgende kode:

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

En lignende switch-sætning kunne se sådan ud:

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

Switch-sætningen i ECMAScript og Java

Der er to forskelle mellem switch-sætningen i ECMAScript og Java. I ECMAScript kan switch-sætningen bruges til strenge, og det er muligt at specificere tilfælde med ikke-konstante værdier:

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

Her bruges switch-sætningen til strengen sColor, og de case-deklarationer, der bruger variablerne BLUE, RED og GREEN, er fuldstændigt gyldige i ECMAScript.