Conditional operators - garevna/js-course GitHub Wiki
Обычная последовательность выполнения кода соответствует порядку следования команд:
var x = 5 // будет выполнена первой
var y = 11 // будет выполнена второй
var z = x * y + 5 // будет выполнена третьейУсловный оператор обеспечивает возможность ветвления скрипта в зависимости от выполнения определенного условия
Если ( что-то.. ) {
делаем так
}
в противном случае {
делаем что-то другое
}Какое бы выражение вы не поместили в круглые скобки, обязательно произойдет неявное приведение этого выражения к boolean, т.е. в круглых скобках может быть все, что угодно - все равно под капотом будет сделано так:
Если ( Boolean ( что-то.. ) ) {
делаем так
}
в противном случае {
делаем что-то другое
}Осталось заменить Если на if
Синтаксис:
if ( логическое выражение ) {
...код 1
} else {
...код 2
}В этой записи появляется две ветки кода: код 1 и код 2
Какая ветка кода будет выполнена, зависит от значения логического выражения в круглых скобках оператора if
Если значением логического выражения будет true, то выполняться будет код 1
В противном случае (если значением логического выражения будет false ) выполняться будет код 2
Если в теле условного оператора if всего одна операция, фигурные скобки можно опустить:
if ( i % 2 === 0 ) console.log ( i )
if ( i % 2 !== 0 ) continue% - операция взятия остатка от деления

if ( typeof x === "number" ) {
var z = x * 5
var y = x / 10 - 3
}
else {
var z = 0
var y = 0
}Здесь код разветвляется: первая "ветка" кода будет выполнена тогда, когда переменная x будет числом
В этом случае переменной z будет присвоено значение x * 5, а переменной y значение выражения x / 10 - 3
В противном случае ( когда x не является числом ) переменные z и y получат значение 0
| Синтаксис |
|---|
логическое выражение ? выражение 1 : выражение 2
|
Состоит из трех частей:
- логическое выражение
- выражение 1
- выражение 2
После логического выражения обязательно следует символ ?, после чего следуют выражение 1 и выражение 2, разделенные двоеточием
Вычисляется значение логического выражения
Если оно будет равно true, тернарный оператор вычисляет и возвращает значение выражение 1
Если оно будет равно false, тернарный оператор вычисляет и возвращает значение выражение 2
var meet = sourse === "fruit" ? "apple" : "mashroom"Здесь логическое выражение
sourse === "fruit" Если это выражение примет значение true, то переменной meet будет присвоено значение "apple"
Если это выражение примет значение false, то переменной meet будет присвоено значение "mashroom"
var result = expresion ? "Все правильно" : "Ошибка"Если expresion === true, значением переменной result будет строка "Все правильно"
Если expresion === false, значением переменной result будет строка "Ошибка"
Например, в следующем случае result получит значение "Все правильно":
var expresion = "Google"
...
var result = expresion ? "Все правильно" : "Ошибка"а в этом случае result получит значение "Ошибка":
var expresion = null
...
var result = expresion ? "Все правильно" : "Ошибка"var sourse = "picture"
var result = sourse === "video" ? console.log ( "Видосик" ) : console.log ( "Картинка" )В консоль будет выведено "Картинка"
MDN |
w3schools |
|---|
Условные операторы
if
MDN
Упражнения