Оператор перемикання JavaScript
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)'>.
Розірвати ключове слово
The break> ключове слово використовується для завершення виконання циклу або a switch> заява.
Ключове слово за умовчанням
The default> ключове слово використовується в межах a switch> оператор як резервний варіант, коли жоден із 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'>.
Примітка: Якщо кілька випадків перемикання відповідають значенню, виконується перший.