logo

Оператор перемикання JavaScript

The Оператор перемикання JavaScript обчислює вираз і виконує блок коду на основі відповідних випадків. Він надає альтернативу довгим ланцюжкам if-else, покращуючи читабельність і зручність обслуговування, особливо при обробці кількох умовних розгалужень.

Зміст



Синтаксис оператора 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>пропущено, виконання продовжиться до наступного випадку (відомого як провал).
  • Регістр за замовчуванням : Thedefault>регістр необов'язковий. Якщо відповідності не знайдено, блок коду під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>.
  • Theswitch>заява оцінюєday>.
  • Оскількиday>є3>,case 3>блок виконується, присвоєння'Wednesday'>доdayName>.
  • Thebreak>твердження закінчується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'>.
  • Theswitch>оператор оцінює значенняgrade>.
  • Оскількиgrade>є'B'>, наступний блок кодуcase 'B':>виконується.
  • Theresult>змінній присвоюється рядок'B (Average)'>.
  • Thebreak>заява припиняє дію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'>.
  • Theswitch>оператор оцінює значенняgrade>.
  • Оскількиgrade>сірники'A'>, наступний блок кодуcase 'A':>виконується, настанresult>до'Grade is excellent'>.
  • Thebreak>заява припиняє діюswitch>заява.
  • Result>реєструється на консолі, яка виводить'Grade is excellent'>.

Примітка: Якщо кілька випадків перемикання відповідають значенню, виконується перший.