Конструкция switch case
Конструкция switch
служит для сравнения значения на равенство с различными вариантами.
При этом равенство подразумевается в смысле оператора строгое равенство ===
, сравнивать с регулярным выражением или как-то еще switch
не умеет. То есть значения должны быть одного типа, чтобы выполнялось равенство.
Если условие совпадает, то выполняется блок кода , связанный с соответствующим case
. Если ни одно условие не подошло, то выполняется код , указанный в блоке default
, если он есть. Для выхода из конструкции используется команда break
. Если ее не указывать, автоматически выполнится блок кода в следующем case
и т.д. Поэтому break
используем в наших скриптах обязательно, чтобы не гонять интерпретатор по всем case
тем самым снижая производительность скрипта.
Видео
Синтаксис
Конструкция switch
имеет один или более блоков case
и необязательный блок default
.
Выглядит она так:
switch (n) {
case 1:
// блок кода 1;
break
case 2:
// блок кода 2;
break
// .......
// другие варианты case
// .......
default:
// блок кода если не подошло ни одно условие;
}
n
- это булеан boolean условие.
Примеры
Рассмотрим простейший пример :
Здесь оператор switch
последовательно сравнит a
со всеми вариантами из case
.
Сначала 3
, затем – так как нет совпадения – 4
. Совпадение найдено, будет выполнен этот вариант, со строки str = 'В точку!'
и далее, до ближайшего break
, который прервёт выполнение.
Рассмотрим такой пример :
Здесь оператор switch
последовательно сравнит a
со всеми вариантами из case
. Но здесь идет сравнение не чисел, а строк. Так можно сделать с любыми типами данных, главное чтобы сравнивались одинаковые типы данных.
Замена if
Также Switch
используется чтобы заменить множественные if
.
Например, можно заменить данный код :
На этот :
Результат будет тот же, но код станет более читабельным и удобным для работы.
React Native
Пример использования в React Native
приложениях.
Проблемы?
Пишите в Telegram или ВКонтакте, а также подписывайтесь на наши новости
Вопросы:
Можно ли при помощи switch
сравнить что-то с регулярными выражениями?
true
false
Какой оператор сравнения использует switch
?
=
===
==
Какое ключевое слово останавливает процесс сравнения в switch
?
break
stop
default
Для того чтобы понять, на сколько вы усвоили этот урок, пройдите тест в мобильном приложении нашей школы по этой теме или в нашем телеграм боте.
Ссылки:
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Philipp Dvinyaninov | Dmitriy Vasilev 💵 | Resoner2005 🐛 🎨 🖋 | Navernoss 🖋 🐛 🎨 |