Конструкция switch в JavaScript

Конструкция switch (переключатель) принимает в качестве аргумента одно значение. Внутри этой конструкции значение проверяется на строгое равенство (===) с установленными величинами, и при совпадении выполняется соответствующий блок команд. Если соответствие не найдено, то ничего не происходит или выполняется блок действий по умолчанию.

var color = 'red';
switch (color) {
  case 'green': {
    alert('Зеленый');
    break;
  }
  case 'red': {
    alert('Красный');
    break;
  }
  case 'blue': {
    alert('Синий');
    break;
  }
  default: {
    alert('Неизвестный');
  }
}

Ключевое слово case указывает возможное значение аргумента, которое требует определенные действия. В примере выше для значений 'green', 'red', 'blue' переменной color требуются индивидуальные действия. Для всех остальных значений переменной color выполняются одинаковые действия по умолчанию, описанные в блоке default.

Ключевое слово break используется для остановки работы switch. Если его не использовать, то после выполнения нужного блока будут выполнены все команды оставшихся блоков до конца switch или до первого break.

var color = 'red';
switch (color) {
  case 'green': {
    alert('Зеленый');
  }
  case 'red': {
    alert('Красный');
  }
  case 'blue': {
    alert('Синий');
  }
  default: {
    alert('Неизвестный');
  }
}

В примере выше после выполнения блока case 'red' выполнятся все команды оставшихся блоков.

Конструкцию switch можно заменить несколькими сравнениями if-else.

if (color === 'green') {
  alert('Зеленый');
}
else if (color === 'red') {
  alert('Красный');
}
else if (color === 'blue') {
  alert('Синий');
}
else {
  alert('Неизвестный');
}