Оператор переключения JavaScript - с примером кода сценария переключения JS

Создание условных выражений для принятия решения о том, какое действие выполнять, является одной из самых фундаментальных частей программирования на JavaScript. Это руководство поможет вам научиться создавать несколько условных выражений с помощью switch ключевого слова.

Как операторы switch работают в JavaScript

Ключевое слово switch JavaScript используется для создания нескольких условных операторов, что позволяет выполнять разные блоки кода в зависимости от разных условий.

В приведенном ниже коде показан switch оператор в действии:

var score = 20;

switch(age){
    case 10:
        console.log("Score value is 10");
        break;
    case 20:
        console.log("Score value is 20");
        break;
    default:
        console.log("Score value is neither 10 or 20");
}
Простой оператор switch в действии

Приведенный выше код будет выведен "Score value is 20" на консоль. Оператор switch работает, сравнивая expression данное ему с выражениями в каждом case предложении.

Во- первых, вам нужно пройти expression в switch заявлении, которое затем заключен в паре круглых скобках (). Вы можете передать переменную или буквальное значение, как показано ниже:

var age = 29;

switch(age){}
// or
switch(true){}
switch("A string"){}
switch(5+5){}
Оператор switch, принимающий разные выражения

Он expression будет оцениваться один раз, а затем сравниваться с выражениями, которые вы определяете в каждом case предложении, сверху вниз.

В следующем примере switch оператор оценивает значение переменной, flower а затем сравнивает его с каждым case предложением, чтобы увидеть, возвращает ли оно true:

  • Первый case сравнит, если flower === "rose"
  • Второй case сравнит, если flower === "violet"
  • Третий case сравнит, если flower === "sunflower"
  • Когда все три case пункта вернутся falsedefault дело будет выполнено
var flower = "tulip";

switch (flower){
    case "rose":
        console.log("Roses are red");
        break;
    case "violet":
        console.log("Violets are blue");
        break;
    case "sunflower":
        console.log("Sunflowers are yellow");
        break;
    default:
        console.log("Please select another flower");
}
Еще один пример оператора switch с цветами

Случай default не является обязательным, то есть вы можете просто запустить через switch заявление, не создавая никаких выходных данных. Но всегда лучше включать один default случай, чтобы вы знали, что switch оператор правильно выполняет JavaScript.

Вы можете включить default в switch оператор только один регистр , иначе JavaScript выдаст ошибку.

Наконец, вам нужно включить break ключевое слово в case тело каждого предложения, чтобы остановить выполнение switch оператора после того, как будет найден подходящий вариант. Если вы опустите break ключевое слово, JavaScript продолжит оценивать выражение до последнего case предложения.

Следующий код напечатает оба "Roses are red" и, "Please select another flower" поскольку break ключевое слово опущено в case предложениях, в результате чего JavaScript продолжит сравнение выражений до последнего случая, который имеет default место:

var flower = "rose";

switch (flower){
    case "rose":
        console.log("Roses are red");
    case "violet":
        console.log("Violets are blue");
    case "sunflower":
        console.log("Sunflowers are yellow");
    default:
        console.log("Please select another flower");
}
Оператор switch без ключевого слова break

Даже если выражение "rose" уже нашло совпадение в первом case предложении, JavaScript все равно продолжит выполнение switch оператора, потому что нет break ключевого слова.

Примечание: break в последнем случае ключевое слово не нужно, потому что к тому времени switch оператор будет полностью выполнен.

Подводя итог, вот как работает switch оператор:

  • Во-первых, вам нужен объект, expression который вы хотите сравнить с некоторыми условными выражениями.
  • Затем вы пишете все условные выражения для сравнения с expression в каждом case предложении, включая default случай, когда нет соответствия case
  • Наконец, напишите код, который вы хотите выполнить, внутри каждого из них case, а затем break введите ключевое слово, чтобы JavaScript не сравнивал его expression с case предложениями.

Теперь, когда вы знаете, как switch работает оператор, давайте узнаем, когда следует использовать switch оператор вместо if..else оператора.

Когда использовать оператор switch

И switch инструкция, и if..else инструкция используются для создания условных выражений. Эмпирическое правило состоит в том, что switch оператор используется только тогда, когда у вас есть точное значение для условных выражений .

Это связано с тем, что if..else оператор может использоваться для сравнения expression с неточным значением, например, больше или меньше чем:

var score = 70;

if(score > 50){
  console.log("Score is higher than 50");
} else {
  console.log("Score is 50 or lower");
}
Простой пример оператора if..else

Но вы не можете использовать score > 50 в качестве условия для case предложения. В следующем примере будет напечатан default регистр, хотя score > 50:

var score = 70;

switch(score){
    case score > 50:
        console.log("Score is higher than 50");
        break;
    default:
        console.log("Score is 50 or lower");
}
Предложение о неправильном регистре с неточным значением

Если вы хотите оценить неточное значение с помощью switch оператора, вам необходимо создать обходной путь, оценив true выражение, как в приведенном ниже коде:

var score = 70;

switch(true){
    case score > 50:
        console.log("Score is higher than 50");
        break;
    default:
        console.log("Score is 50 or lower");
}
Оценка неточного значения с помощью оператора switch

Хотя приведенный выше код будет работать, лучше использовать if..else оператор, потому что он более читабельный.

Спасибо, что прочитали это руководство!

Читайте также

Комментарии ()

    Написать комментарий