Конструкция 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('Неизвестный'); }