ECMAScript-switch-lause

switch-lause

switch-lause on if-lauseen veli.

kehittäjä voi käyttää switch-lauseita tarjotakseen joukon tilanteita (case) lauseelle.

switch-lauseen syntaksi:

switch (ilmaisu)
  case arvo: lause;
    break;
  case arvo: lause;
    break;
  case arvo: lause;
    break;
  case arvo: lause;
    break;
...
  case arvo: lause;
    break;
  default: lause;

Jokainen tapaus (case) edustaa 'jos' ilmaisu on arvo,tässä lause

Avainsana break tekee siitä, että koodi poistuu switch-lauseesta. Ilman avainsanaa break koodi jatkaa suorittamista seuraavaan caseen.

Avainsana default määrittää toiminnon, joka suoritetaan, jos lauseen tulostulo ei vastaa minkään tilanteen arvoa (tosiasiassa se on samanarvoinen else-lauseen kanssa).

switch-lauseet ovat pääasiassa suunniteltu välttämään kehittäjien kirjoittamisen seuraavaa koodia:

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

Tämä on vastaava switch-lause:

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

ECMAScript ja Java -kielten switch-lause

ECMAScript ja Java -kielten switch-lauseella on kaksi eroa. ECMAScriptissä switch-lause voidaan käyttää merkkijonojen kanssa, ja tilanteet voidaan kuvata ei-constanssilla arvoilla:

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

Tässä switch-lause käytetään merkkijonoa sColor, ja case-käytetään muuttujia BLUE, RED ja GREEN, mikä on täysin pätevä ECMAScriptissä.