JavaScript Оператор Switch
Оператор switch
используется для выполнения различных действий в зависимости от различных условий.
JavaScript Оператор Switch
Используйте оператор switch
, чтобы выбрать один из множества блоков кода, которые нужно выполнить.
Синтаксис
switch(выражение) {
case x:
// блок кода
break;
case y:
// блок кода
break;
default:
// блок кода
}
Вот как это работает:
- Выражение переключения (switch) вычисляется один раз.
- Значение выражения сравнивается со значениями для каждого случая.
- Если есть совпадение, выполняется связанный блок кода.
- Если совпадений нет, выполняется блок кода по умолчанию (default).
Пример
Метод getDay()
возвращает день недели в виде числа от 0 до 6.
(Sunday=0, Monday=1, Tuesday=2 ..)
В этом примере номер дня недели используется для вычисления имени дня недели:
switch (new Date().getDay()) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
}
Результат дня будет:
Ключевое слово break
Когда JavaScript достигает ключевого слова break
, он выходит из блока switch.
Это остановит выполнение внутри блока switch.
Необязательно разбивать последний регистр в блоке switch. Блок все равно обрывается (заканчивается).
Примечание: Если вы опустите оператор break, следующий кейс будет выполнен, даже если оценка не соответствует кейсу.
Ключевое слово default
Ключевое слово default
определяет код для запуска, если нет соответствующего кейса:
Пример
Метод getDay()
возвращает день недели в виде числа от 0 до 6.
Если сегодня ни Суббота (6), ни Воскресенье (0), напишите сообщение по умолчанию (default):
switch (new Date().getDay()) {
case 6:
text = "Сегодня Суббота";
break;
case 0:
text = "Сегодня Воскресенье";
break;
default:
text = "С нетерпением жду выходных";
}
Результат текста будет:
Кейс default
не обязательно должен быть последним кейсом в блоке switch:
Пример
switch (new Date().getDay()) {
default:
text = "С нетерпением жду выходных";
break;
case 6:
text = "Сегодня Суббота";
break;
case 0:
text = "Сегодня Воскресенье";
}
Попробуйте сами »
Если default
не последний кейс в блоке switch, не забудьте завершить кейс default обрывом (break).
Общие блоки кода
Иногда вам может понадобиться, чтобы в разных случаях переключения (кейсах switch) использовался один и тот же код.
В этом примере кейс 4 и 5 совместно используют один и тот же блок кода, а 0 и 6 совместно используют другой блок кода:
Пример
switch (new Date().getDay()) {
case 4:
case 5:
text = "Скоро выходные";
break;
case 0:
case 6:
text = "Это выходные";
break;
default:
text = "С нетерпением жду выходных";
}
Попробуйте сами »
Детали переключения
Если одному кейсу соответствует несколько вариантов, выбирается первый кейс.
Если подходящих вариантов не найдено, программа переходит к метке default.
Если метка default не найдена, программа переходит к оператору (операторам) после switch.
Строгое сравнение
Switch кейсы используют строгое сравнение (===).
Значения должны быть одного типа, чтобы соответствовать друг другу.
Строгое сравнение может быть true, только если операнды одного типа.
В этом примере совпадения по x не будет:
Пример
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "Значение не найдено";
}
Попробуйте сами »