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), написати повідомлення за замовчуванням:
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 = "Значення не знайдено";
}
Спробуйте самі »