Оператор JavaScript if выполняет действие на основе условия, что является обычным сценарием для всех языков программирования. if оператор проверяет бит данных на соответствие условию, а затем указывает код, который должен быть выполнен, если условие истинно, например:
if condition {
выполнить этот код
}
data-type = “code”>
Оператор if почти всегда сочетается с оператором else , потому что обычно вы хотите определить альтернативный бит кода для выполнения. Рассмотрим пример:
if ('Stephen' === name) {
message = "С возвращением, Стивен";
} else {
message = "Добро пожаловать" + name;
}
data-type = “code”>
Этот код возвращает «С возвращением, Стивен», если name равно Stephen; в противном случае он возвращает «Добро пожаловать», а затем любое значение, которое содержит переменная name .
Более короткий оператор IF
JavaScript предоставляет нам альтернативный способ написания оператора if , когда и истинное, и ложное условия просто присваивают разные значения одной и той же переменной.
Этот более короткий способ пропускает ключевое слово if , а также фигурные скобки вокруг блоков (которые являются необязательными для отдельных операторов). Мы также перемещаем значение, которое мы устанавливаем как в истинных, так и в ложных условиях, в начало нашего единственного оператора и встраиваем этот новый стиль оператора if в сам оператор.
Вот как это выглядит:
variable = (condition)? true-value: false-value;
data-type = “code”>
Таким образом, наш оператор if сверху может быть записано все в одной строке как:
message = ('Stephen' === name)? "С возвращением, Стивен": "Добро пожаловать" + name;
data-type = “code”>
Что касается JavaScript, то этот оператор идентичен к более длинному коду, приведенному выше.
Единственное отличие состоит в том, что подобная запись оператора фактически предоставляет JavaScript дополнительную информацию о том, что делает оператор if. Код может работать более эффективно, чем если бы мы писали его более длинным и читаемым способом. Это также называется тернарным оператором.
Присвоение нескольких значений одной переменной
Этот способ кодирования оператора if может помогает избежать подробного кода, особенно во вложенных операторах if . Например, рассмотрим этот набор вложенных операторов if/else:
var answer;
if (a == b) {
if (a == c) {
answer = "все равны";
} else {
answer = "a и b равны";
}
} else {
if (a == c) {
answer = "a и c равны";
} else {
if (b == c) {
answer = "b и c равны";
} else {
answer = "все разные";
}
}
}
data-type = “code”>
Этот код присваивает одно из пяти возможных значений одному Переменная. Используя эту альтернативную нотацию, мы можем значительно сократить это до всего лишь одного оператора, включающего все условия:
var answer = (a == b)? ((a == c)? «все равны»:
«a и b равны»): (a == c)? "a и c равны": (b == c)?
"b и c равны": "все разные";
data-type = “code”>
Обратите внимание, что эту нотацию можно использовать только тогда, когда все различные тестируемые условия присваивают разные значения одному и тому же переменная.