Условные операторы в JavaScript позволяют задать ветвление программы, проще говоря, выполнить различные блоки кода в зависимости от значения выражения. В JS всего 4 условных оператора:
- if
- else
- else if
- switch
Один из наиболее гибких и удобных из них – условный оператор switch. В этой статье мы рассмотрим, как использовать оператор switch для эффективного управления ветвлением кода в JavaScript.
Условный оператор switch:
switch (выражение) {
операторы
)
Синтаксис условного оператора switch
switch (выражение) {
case значение1:
// код, выполняемый при совпадении с значение1
break;
case значение2:
// код, выполняемый при совпадении с значение2
break;
...
default:
// код, выполняемый, если нет совпадений
}
Пример использования условного оператора switch
Пример использования switch для определения дня недели:
let day = 3;
let dayName;
switch (day) {
case 1:
dayName = "Понедельник";
break;
case 2:
dayName = "Вторник";
break;
case 3:
dayName = "Среда";
break;
case 4:
dayName = "Четверг";
break;
case 5:
dayName = "Пятница";
break;
case 6:
dayName = "Суббота";
break;
case 7:
dayName = "Воскресенье";
break;
default:
dayName = "Некорректное значение";
}
console.log(dayName); // Выводит "Среда"
Переменная day
= 3, и оператор switch сравнивает значение day
с различными случаями (case). Когда совпадение найдено, соответствующий блок кода выполняется. Поскольку значение day
= 3, блок кода для case 3 выполняется, и переменной dayName
присваивается значение “Среда” (третий день недели).
Использование блока default
Блок default в операторе switch используется, когда нет совпадений с предыдущими case. Он выполняется, если ни одно из значений не соответствует выражению. Блок default необязателен, но может быть полезным для обработки некорректных или неожиданных значений:
let month = 13;
let monthName;
switch (month) {
case 1:
monthName = "Январь";
break;
case 2:
monthName = "Февраль";
break;
case 3:
monthName = "Март";
break;
// ...
default:
monthName = "Некорректное значение";
}
console.log(monthName); // Выводит "Некорректное значение"
В этом примере переменная month
= 13, которое не соответствует ни одному из предыдущих case. Поэтому блок default выполняется, и переменной monthName
присваивается значение “Некорректное значение”.
Множественные случаи
Также оператор switch позволяет объединять несколько случаев в один блок кода. Для этого можно использовать ключевое слово case
без оператора break
:
let grade = "B+";
let message;
switch (grade) {
case "A+":
case "A":
message = "Отличная работа!";
break;
case "B+":
case "B":
message = "Хорошая работа!";
break;
case "C":
message = "Удовлетворительно.";
break;
default:
message = "Некорректная оценка";
}
console.log(message); // Выводит "Хорошая работа!"
В этом примере переменная grade
= “B+”, которое соответствует case “B+” и case “B”. Блок кода для этих случаев выполняется, и переменной message
присваивается значение “Хорошая работа!”.
Когда применять switch, а не if-else if?
Оператор switch
в JavaScript используется, когда нужно выполнить разные действия в зависимости от значения одного выражения.
Когда все ветви выполнения зависят от значения одного и того же выражения, использование множества операторов if-else if
может быть неэффективным. При каждой проверке оператора if
значение выражения вычисляется заново, даже если оно не изменилось.
В этих случаях оператор switch
предпочтительнее, т.к. выражение вычисляется один раз, а затем сравнивается с различными значениями case
, что позволяет избежать повторных вычислений и делает код более эффективным.
Оператор switch | Цепочка if-else if |
---|---|
Выражение сравнивается с каждым case | Каждое условие if проверяется последовательно |
Один блок кода для каждого case | Отдельный блок кода для каждого условия |
default – код по умолчанию | else – код по умолчанию |
Может использовать строгое сравнение | Может использовать как строгое и нестрогое сравнение |
Может сравнивать только с фиксированными значениями | Может сравнивать с более сложными условиями |
switch
и if-else
i
fЗаключение
В этой статье мы изучили, как использовать условный оператор switch в JavaScript для управления ветвлением кода. Мы рассмотрели его синтаксис, примеры использования и варианты работы с несколькими случаями. Условный оператор switch является мощным инструментом для элегантного управления потоком выполнения программы в зависимости от значения выражения. Используйте его в своих проектах, чтобы сделать код более структурированным и легким для чтения и понимания.