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'>
.
Примітка: Якщо кілька випадків перемикання відповідають значенню, виконується перший.