ECMAScriptswitch文

switch 文

switch 文は if 文の兄弟文です。

開発者は switch 文を使って式に一連の状況(case)を提供することができます。

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;

各状況(case)は「もし」を表す expressionvalue、を満たす statement

break キーワードは、switch 文からコードを跳出させます。break キーワードがなくても、コードは次の case に進行します。

default キーワードは、表現の結果がどのケースにも一致しない場合の操作を示します(実際には、else 文と同様です)。

switch 文は、以下のようなコードを開発者から避けるために主に使用されます:

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

等価な switch 文は以下のようになります:

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

ECMAScript と Java の switch 文

ECMAScript と Java の switch 文は以下の2点で異なります。ECMAScript では、switch 文が文字列に使用でき、常量でない値を使用して条件を指定できます:

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

ここでは、switch 文が文字列 sColor に使用されており、case は変数 BLUE、RED、GREEN を使用しており、ECMAScript では完全に有効です。