Оператор switch ECMAScript

Оператор switch

Оператор switch является братом оператора if.

Разработчик может использовать оператор switch, чтобы предоставить выражению набор случаев (case).

Синтаксис оператора switch:

switch (expression)
  case равно: statement;
    break;
  case равно: statement;
    break;
  case равно: statement;
    break;
  case равно: statement;
    break;
...
  case равно: statement;
    break;
  default: statement;

Каждый случай (case) представляет собой «если» expression expression равновыполнится statement

Ключевое слово break позволяет跳出 оператор switch. Если ключевого слова break нет, выполнение кода продолжится с следующим case.

Ключевое слово default указывает на то, что выполняется действие, когда результат выражения не соответствует ни одному из случаев (фактически, это аналогично else-предложению).

Оператор switch主要用于 evitar la escritura de código como el siguiente:

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

Оператор switch в ECMAScript и Java

В ECMAScript и Java оператор switch имеет два отличия. В 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, что является полностьюvalidным в ECMAScript.