Інструкція 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, а потім до наступного і так далі. І це може призвести до небажаних наслідків у випадку неправильного застосування.

Не забувайте використовувати оператор break!

Приклад використання інструкції 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