Далее на странице...
Условия - одно из важнейших понятий программирования в целом.
Примеры условий из реальной жизни.
1. Условие всегда начинается с оператора if.
2. В круглых скобках пишется условие, которое хотим проверить.
3. В фигурных скобках указывается какое-либо действие.
Примеры условий - Оператор if
Пример 1.1
if (4 == 9) {
console.log('OK');
}
Результат
Здесь ничего не происходит. Условие не выполнено (4 не равно 9).
Пример 1.2
if (4 == 4) {
console.log('OK');
}
Результат
ОК
Здесь условие выполнено, поэтому мы видим OK .
Если условие выполняется - оно истинно, следовательно, выполняется действие, указанное в фигурных скобках.
Но как быть с примером 1.1, когда условие не выполняется?
Вторая часть условий - Оператор else
Пример 2.1
if (4 == 9) {
console.log('OK');
} else {
console.log('Error');
}
Результат
Error
Если условие не выполняется - оно ложно, следовательно, будет выполняться действие, указанное в фигурных скобках после оператора else.
Эти простые примеры показывают, как работают условия в JavaScript?
Условия - true или false
Условие внутри круглых скобок может быть либо истинным, либо ложным. То есть оно всегда преобразовывается к булевому типу: true или false (истина или ложь).
if (4 == 4) /* true */
if (4 == 9) /* false */
Любой тип данных внутри условия (в круглых скобках) всегда будет преобразован в булев тип.
Несколько условий - Вложенные условия
В JavaScript часто приходится работать с несколькими условиями одновременно.
Пример 3.1
const num = 50;
if (num < 50) {
console.log('too little');
} else if (num > 50) {
console.log('too much');
} else {
console.log('OK');
}
Результат
ОК
Тернарный оператор - Синтаксис
Рассмотрим другой синтаксис записи условий - это тернарный оператор.
Пример 4.1
const num = 50;
(num === 49) ? console.log('OK') : console.log('Error');
Результат
Error
Как работает тернарный оператор?
Если условие истинно (в круглых скобках), то выполняется действие, следующее после знака вопроса ?.
Если условие ложно, то выполняется действие, указанное после двоеточия :.
Оператор называется тернарным, потому что в его работе участвуют три аргумента.
Три аргумента в выражении из примера 4.1
- (num === 49) - 1-ый аргумент.
- console.log('OK') - 2-ой аргумент.
- console.log('Error') - 3-ий аргумент.
Это единственный тернарный оператор в JavaScript.
Конструкция switch-case - Альтернатива if-else
Снова рассмотрим пример с несколькими условиями: такая конструкция на практике не всегда удобна.
Существует модификация/альтернатива конструкции if-else - это конструкция switch-case.
Конструкция switch-case всегда работает со строгим сравнением.
Пример 5.1
const num = 50;
switch (num) {
case 49: /* Строгое сравнение num с указанным значением */
console.log('Неверно');
break;
case 100:
console.log('Неверно');
break;
case 50:
console.log('Верно');
break;
default: /* Действие по умолчанию */
console.log('Не в этот раз');
break;
}
Результат
Верно
Как работает конструкция switch-case?
1. В switch передается переменная num.
2. Директива case - проверка/одна из проверок переменной num с указанным значением. Далее выполняется или не выполняется какое-либо действие.
3. Ключевое слова break - обязательно и служит для прекращения выполнения скрипта (дальнейших проверок), если действие выполняется.
4. Оператор default - обозначает действие по умолчанию, если ни одно из предыдущих не выполняется.
Конструкция switch-case в JavaScript встречается не часто, но в некоторых случаях - не заменима (об этом позже).