The Оператор перемикання JavaScript обчислює вираз і виконує блок коду на основі відповідних випадків. Він надає альтернативу довгим ланцюжкам if-else, покращуючи читабельність і зручність обслуговування, особливо при обробці кількох умовних розгалужень.
Зміст
- Синтаксис оператора Switch
- Як працює оператор Switch
- Блок-схема оператора Switch
- Загальні блоки коду
Синтаксис оператора Switch
switch (expression) { case value1: // code block 1; break; case value2: // code block 2; break; ... default: // default code block; }>-
Expression>це значення, яке ви хочете порівняти. Case value1>,case value2>, і т. д. представляють можливі значенняexpression>.break>заява припиняє діюswitch>заява. Без цього виконання буде продовжено в наступній справі.Default>визначає код для запуску, якщо жоден із випадків не відповідаєexpression>.
Як працює оператор Switch
- Оцінка : Вираз всередині
switch>заява оцінюється один раз. - Порівняння : Значення виразу порівнюється з кожним
case>мітка (використовуючи сувору рівність===>). - виконання : Якщо знайдено відповідність, відповідний блок коду після відповідності
case>мітка виконана. Якщо збігів не знайдено, виконання переходить доdefault>case (якщо є) або продовжується наступним оператором післяswitch>блокувати. - Інструкція Break : після виконання блоку коду,
break>заява припиняє діюswitch>твердження, що запобігає перенесенню виконання на наступні справи. Якщоbreak>пропущено, виконання продовжиться до наступного випадку (відомого як провал). - Регістр за замовчуванням : The
default>регістр необов'язковий. Якщо відповідності не знайдено, блок коду підdefault>виконується.
Блок-схема оператора Switch

Приклад оператора Switch:
Тут ми надрукуємо назву дня третього дня.
Javascript let day = 3; let dayName; switch (day) { case 1: dayName = 'Monday'; break; case 2: dayName = 'Tuesday'; break; case 3: dayName = 'Wednesday'; break; case 4: dayName = 'Thursday'; break; case 5: dayName = 'Friday'; break; case 6: dayName = 'Saturday'; break; case 7: dayName = 'Sunday'; break; default: dayName = 'Invalid day'; } console.log(dayName); // Output: Wednesday> Вихід
Wednesday>
Пояснення:
Day>встановлено на3>.- The
switch>заява оцінюєday>. - Оскільки
day>є3>,case 3>блок виконується, присвоєння'Wednesday'>доdayName>. - The
break>твердження закінчуєтьсяswitch>твердження, що запобігає продовженню виконання в інших справах.
Приклад оператора Switch:
Тут ми перевіримо нашу оцінку за допомогою перемикача.
Javascript let grade = 'B'; let result; switch (grade) { case 'A': result = 'A (Excellent)'; break; case 'B': result = 'B (Average)'; break; case 'C': result = 'C (Below than average)'; break; default: result = 'No Grade'; } console.log(result);> Вихід
B (Average)>
Пояснення:
Grade>присвоюється значення'B'>.- The
switch>оператор оцінює значенняgrade>. - Оскільки
grade>є'B'>, наступний блок кодуcase 'B':>виконується. - The
result>змінній присвоюється рядок'B (Average)'>. - The
break>заява припиняє діюswitch>заява. result>реєструється на консолі, яка виводить'B (Average)'>.
Розірвати ключове слово
Thebreak>ключове слово використовується для завершення виконання циклу або aswitch>заява.
Ключове слово за умовчанням
Thedefault>ключове слово використовується в межах aswitch>оператор як резервний варіант, коли жоден ізcase>вирази відповідають значенню, що обчислюється. Він діє подібно доelse>заява в анif...else>ланцюжок, забезпечуючи дію за замовчуванням, яка виконується, коли немає інших конкретних випадків.
Позиція регістру за замовчуванням не має значення:
Незалежно від його розташування, випадок за замовчуванням виконується, лише якщо не виконується жодна з інших умов. Отже, розміщення його на початку, в середині або в кінці не змінює основну логіку (якщо тільки ви не використовуєте менш поширену техніку, яка називається пропусканням).
ми надрукуємо регістр за замовчуванням.
JavaScript let day = 8; let dayName; switch (day) { default: dayName = 'Invalid day'; break; case 1: dayName = 'Monday'; break; case 2: dayName = 'Tuesday'; break; case 3: dayName = 'Wednesday'; break; case 4: dayName = 'Thursday'; break; case 5: dayName = 'Friday'; break; case 6: dayName = 'Saturday'; break; case 7: dayName = 'Sunday'; break; } console.log(dayName);> Вихід
Invalid day>
Загальні блоки коду
У деяких випадках нам потрібно використовувати той самий код для кількох випадків перемикання. Давайте подивимося на прикладі того, як це зробити:
Загальні блоки коду приклад:
Тут ми будемо однакові блоки коду для двох різних випадків комутатора.
Javascript let grade = 'A' let result; switch (grade) { case 'A': result = 'Grade is excellent' break; case 'B': result = 'Grade is good' break; case 'C': result = 'Grade is Average ' break; case 'D': result = 'Grade is Poor' break; default: text = 'NO grades achieved'; } console.log(result)> Вихід
Grade is excellent>
Пояснення:
Grade>присвоюється значення'A'>.- The
switch>оператор оцінює значенняgrade>. - Оскільки
grade>сірники'A'>, наступний блок кодуcase 'A':>виконується, настанresult>до'Grade is excellent'>. - The
break>заява припиняє діюswitch>заява. Result>реєструється на консолі, яка виводить'Grade is excellent'>.
Примітка: Якщо кілька випадків перемикання відповідають значенню, виконується перший.