Інструкція switch
Інструкція switch використовується для виконання різних дій в залежності від значення змінної. Це альтернативний спосіб організації умовних перевірок, коли потрібно визначити різні дії в залежності від значення однієї змінної.
switch (вираз) {
case значення1:
// код, який виконується, коли вираз дорівнює значення1
break;
case значення2:
// код, який виконується, коли вираз дорівнює значення2
break;
// ... багато інших case
default:
// код, який виконується, якщо жоден з case не відповідає значенню виразу
}

switch (вираз) - вказує що потрібно порівняти. Всередині замість вираз зазвичай вкащують якусь змінну.
case значення: - всередині фігурних дужок описують варіанти. Їх кількість може бути довільна. Під час обробки цієї інструкції перевіряється на рівність виразу цьому значенню (===). Якщо вони рівні виконується код описаний після двокрапки :. У case не можна порівняти більше або менше, лише рівність.
default - це необов'язковий блок, який виконується, якщо жоден з case не відповідає значенню виразу.
break - Кожний блок коду case може містити команду break, яка припиняє виконання switch та виходить з нього. Якщо команда break відсутня, виконання продовжиться до наступного case, а потім до наступного і так далі. І це може призвести до небажаних наслідків у випадку неправильного застосування.
Приклад використання інструкції switch:
let day = 2;
let dayName;
switch (day) {
case 1:
dayName = "Понеділок";
break;
case 2:
dayName = "Вівторок";
break;
case 3:
dayName = "Середа";
break;
case 4:
dayName = "Четвер";
break;
case 5:
dayName = "П'ятниця";
break;
default:
dayName = "Не відомо";
}
console.log(dayName); // Виведе 'Вівторок', оскільки day === 2
Для прикладу покажемо цей самй код на прикладі конструкції else...if (Так не треба робити!).
let day = 2;
let dayName;
if (day === 1) {
dayName = "Понеділок";
} else if (day === 2) {
dayName = "Вівторок";
} else if (day === 3) {
dayName = "Середа";
} else if (day === 4) {
dayName = "Четвер";
} else if (day === 5) {
dayName = "П'ятниця";
} else {
dayName = "Не відомо";
}
console.log(dayName); // Виведе 'Вівторок', оскільки day === 2
Такий запис хоч і виконує такий само функціонал, але менш читабельний.
Last updated