Условный оператор switch в JavaScript

Условные операторы в JavaScript позволяют задать ветвление программы, проще говоря, выполнить различные блоки кода в зависимости от значения выражения. В JS всего 4 условных оператора:

  • if
  • else
  • else if
  • switch

Один из наиболее гибких и удобных из них – условный оператор switch. В этой статье мы рассмотрим, как использовать оператор switch для эффективного управления ветвлением кода в JavaScript.

Условный оператор switch:

JavaScript
switch (выражение) {
  операторы
)

Синтаксис условного оператора switch

JavaScript
switch (выражение) {
  case значение1:
    // код, выполняемый при совпадении с значение1
    break;
  case значение2:
    // код, выполняемый при совпадении с значение2
    break;
  ...
  default:
    // код, выполняемый, если нет совпадений
}

Пример использования условного оператора switch

Пример использования switch для определения дня недели:

JavaScript
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 необязателен, но может быть полезным для обработки некорректных или неожиданных значений:

JavaScript
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:

JavaScript
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 if

Заключение

В этой статье мы изучили, как использовать условный оператор switch в JavaScript для управления ветвлением кода. Мы рассмотрели его синтаксис, примеры использования и варианты работы с несколькими случаями. Условный оператор switch является мощным инструментом для элегантного управления потоком выполнения программы в зависимости от значения выражения. Используйте его в своих проектах, чтобы сделать код более структурированным и легким для чтения и понимания.


Опубликовано

в

от

React

React Native и Ionic

Узнайте, как использовать фреймворки, такие как React Native или Ionic, для разработки кросс-платформенных мобильных приложений на JavaScript.

React

Создание и публикация npm-пакетов с React-компонентами: Разработка для сообщества

Узнайте, как разрабатывать и публиковать npm-пакеты, содержащие полезные React-компоненты, для использования в проектах сообщества.

JavaScript

Использование модулей и пакетов в JavaScript с инструментами Node.js и npm

Узнайте, как использовать модули и пакеты в JavaScript с помощью инструментов, таких как Node.js и npm, для создания масштабируемых приложений.

React

Реактивное программирование с RxJS и React: Управление потоками данных

Изучите, как использовать RxJS в React-приложениях для управления асинхронными потоками данных и обработки событий.

СSS 3

Как создать эффект параллакса CSS

Изучите способы создания эффекта параллакса на веб-странице с использованием CSS и добавьте глубину и динамику в свой дизайн.

СSS 3

Стилизация таблиц CSS

Стилизация таблиц CSS: способы стилизации HTML-таблиц с помощью CSS, создаем более привлекательные табличные данные.

JavaScript

Геолокация и местоположение в JavaScript

Геолокация и местоположение в JavaScript: API и шаги использования для создания местоспецифичного функционала в веб-приложениях.

HTML 5

Формы в HTML

Изучите создание форм в HTML с помощью тега

. Узнайте, как создавать текстовые поля, кнопки, флажки, переключатели и другие элементы форм.