Принимайте решения быстрее, чем используя if-else.
Когда дело доходит до управленияходом конкретной программы путем принятия решений, у нас обычно есть два варианта:
- если еще
- переключатель случае
В нашей предыдущей статье мы рассмотрели все, что вам нужно знать о if..else в JavaScript. Вот ссылка:
Теперь давайте рассмотрим оператор switch case.
Посмотрите на этот простой пример:
let fruit = "apple"; switch (fruit){ case "apple": console.log("This is an apple"); break; case "mango": console.log("This is a mango"); break; default: console.log("This is a fruit"); } // Output: This is an apple
В случае, если вы не знакомы с switch
, то это довольно простая процедура для управления потоком программы.
Вот типичный синтаксис переключателя:
switch(expression_to_be_checked){ case first_value: //do something break; case second_value: //do something else break; case third_value: //do something else break; default: // do what not defined in above cases }
Разберем синтаксис:
- каждый оператор
switch
начинается с ключевого слова switch, которое содержит выражение, которое нужно проверить либо какvalue
, либо какvariable
- то у нас есть несколько
cases
проверок выражения, и выполнение той или иной задачи в соответствии сcase
- в каждом
case
блоке у нас есть ключевое словоbreak
. Он используется, чтобы прервать дальнейший поток программы и ограничить нас выполнением задачи определенногоcase
блока. - в конце у нас есть
default
case. Он выполняет задачу по умолчанию, если отсутствиеусловия случая удовлетворено.
Вот он, оператор switch case в JavaScript.
Нона этом все не заканчивается, есть несколько важных моментов, о которых вам нужно знать, прежде чем использовать его.
Вы можете поместить ключевое слово по умолчанию в любое место; нет необходимости помещать его в конец
Везде вы обнаружите, что ключевое слово default
ставится в конце каждого требуемого case
блока, но default
в конце ставить не обязательно.
На самом деле, я предпочитаю помещатьdefault
в начало, потому что мне удобно не беспокоиться ни о чем дальнейшем, если я использую много блока case.
В любом случае, это субъективный вопрос, так что вы размещаете его там, где хотите, это не имеет большого значения.
let animal = "mouse"; switch (animal){ default: console.log("This is an animal"); case "rabbit": console.log("This is an rabbit"); break; case "lion": console.log("This is a lion"); } // Output: This is an animal
На самом деле мне не нужно помещать
break
в последнийcase
блок, потому что это имеет смысл, это последнийcase
и никакие другиеcase
после последнего case блока проверяться не будут.
Не для каждого оператора switch требуется регистр по умолчанию.
Да, вы правильно прочитали. Не обязательно использовать default
в каждом switch
операторе. У вас может быть условие, при котором вам не нужно использовать регистр по умолчанию.
let animal = "mouse"; switch (animal){ case "rabbit": console.log("This is an rabbit"); break; case "lion": console.log("This is a lion"); } // Output: you might not able to see anything as output
Что делать, если вы забыли использовать ключевое слово break?
Это довольно простой ответ — все блоки case будут выполняться вне зависимости от того, выполняется условие или нет — простой.
Позвольте мне прокомментировать ключевое слово break.
let fruit = "guava"; switch (fruit){ case "apple": console.log("This is an apple"); //break; case "mango": console.log("This is a mango"); //break; default: console.log("This is a fruit"); } // Output: This is an apple This is a mango
Неиспользование
break
keyword также может привести к новому опыту. Это называется многовариантной операцией.
Проверь это:
let fruit = "guava"; switch (fruit){ case "apple": case "mango": case "pineapple": case "guava": case "watermelon": console.log("This is a fruit"); break; default: console.log("This is a thing"); } //Output This is a fruit.
Это также известно как провал.
Здесь мы используем четыре оператора case для выполнения одной и той же задачи.
Заключение:
Итак, это все, что вам нужно знать для работы с switch case.
. Иногда оператор switch используется как альтернатива if…else.
, но у них есть свои варианты использования.
Также видно, что switch
оператор работает быстрее, чем if…else
в большинстве случаев, если нужно проверить слишком много условий.
Я проиллюстрировал несколько примеров и сценариев, чтобы объяснить оператор switch, но я настоятельно рекомендую настроить ваш собственный пример, чтобы лучше понять.
Потому что, как говорится, практика делает совершенным.
Спасибо, что остаетесь рядом. Увидимся в новом.
Эта история официально опубликована на странице В скобках.
https://withinbracket.com/posts/switch-statement-in-javascript/
Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Получите эксклюзивный доступ к возможностям написания и советам в нашем сообществе Discord.