Конструкция if..else
Конструкция if..else
проверяет некоторое условие и если это условие верно, то выполняет некоторые действия. Простейшая форма конструкции if..else
:
if(условие){
некоторые действия
}
После ключевого слова if
в круглых скобках идет условие, а после условия - блок кода с некоторыми действиями. Если это условие истинно, то затем выполняются действия, которые помещены в блоке кода:
const income = 100;
if(income > 50) {
console.log("доход больше 50");
}
Здесь в конструкции if
используется следующее условие: income > 50
. Если это условие возвращает true
, то есть если константа income
имеет значение больше 50
, то браузер отображает сообщение. Если же значение income
меньше 50
, то никакого сообщения не отображается.
Условия могут быть сложными:
const income = 100;
const age = 19;
if(income > 50 && age > 18){
console.log("доход больше 50");
console.log("возраст больше 18");
}
Проверка наличия значения, if
позволяет проверить наличие значения:
let myVar = 89;
if(myVar){
console.log(`Переменная myVar имеет значение: ${myVar}`);
}
Если переменная myVar
имеет значение, как в данном случае, то в условной конструкции она возвратит значение true
.
Здесь переменная myVar
не имеет значения. (В реальности она равна undefined
) Поэтому условие в конструкии if
возвратит false
, и действия в блоке конструкции if
не будут выполняться:
let myVar;
if(myVar){
console.log(`Переменная myVar имеет значение: ${myVar}`);
}
Нередко для проверки значения переменной используют альтернативный вариант - проверяют на значение undefined
и null
:
if (myVar !== undefined && myVar !== null) {
console.log(`Переменная myVar имеет значение: ${myVar}`);
}
Выражение else
Выше мы рассмотрели, как определить действия, которые выполняются, если условие после if
истинно. Но что, если мы хотим также выполнять еще один набор инструкций, если условие ложно? В этом случае можно использовать блок else
. Данный блок содержит инструкции, которые выполняются, если условие после if
ложно, то есть равно false
:
if(условие){
действия, если условие истинно
}
else{
действия, если условие ложно
}
То есть если условие после if
истинно, выполняется блок if
. Если условие ложно, выполняется блок else
:
const income = 45;
if(income > 50){
console.log("Доход больше 50");
}
else{
console.log("Доход меньше или равен 50");
}
Здесь константа income
равна 45
, поэтому условие после оператора if
возвратит false
, и управление перейдет к блоку else
.
Альтернативные условия
С помощью конструкции else if
мы можем добавить альтернативное условие к блоку if
. Например, в условие значение income
может быть больше определенном значению может быть меньше, а может быть равно ему:
const income = 50;
if(income > 50) {
console.log("Доход больше 50");
}
else if(income === 50){
console.log("Доход равен 50");
}
else{
console.log("Доход меньше 50");
}
В данном случае выполнится блок else if
. При необходимости мы можем использовать несколько блоков else if с разными условиями:
const income = 500;
if(income < 200){
console.log("Доход ниже среднего");
}
else if(income>=200 && income<300){
console.log("Чуть ниже среднего");
}
else if(income>=300 && income<400){
console.log("Средний доход");
}
else{
console.log("Доход выше среднего");
}
True или false
В javascript любая переменная может применяться в условных выражениях, но не любая переменная представляет тип boolean
. И в этой связи возникает вопрос, что возвратит та или иная переменная - true
или false
? Много зависит от типа данных, который представляет переменная:
undefined
возвращаетfalse
null
возвращаетfalse
boolean
если константа/переменная равнаfalse
, то возвращаетсяfalse
. Соответствено если константа/переменная равнаtrue
, то возвращаетсяtrue
number
возвращаетfalse
, если число равно0
илиNaN
, в остальных случаях возвращаетсяtrue
string
возвращаетfalse
, если константа/переменная равна пустой строке, то есть ее длина равна0
, в остальных случаях возвращаетсяtrue
object
всегда возвращаетtrue