45. Условные переходы.
if
Две формы записи:
if (выражение)
инструкция
if (выражение)
инструкция1
else
инструкция2
Выражение вычисляется, результат приводится к boolean
.
Ложными являются следующие значения
false
null
undefined
""
(пустая строка)0
NaN
switch
switch (expression) {
case valueExpression1:
// инструкции, соответствующие valueExpression1
[break;]
...
case valueExpressionN:
// инструкции, соответствующие значению valueExpressionN
[break;]
[default:
// инструкции, которые выполняются при отсутствии совпадений
[break;]
]
}
На первый взгляд похожа на аналоги из других языков. Однако после case указываются выражения!
Сначала вычисляем expression. Затем вычисляем выражение valueExpression1. Если значения совпали (===), выполняем соответствующий набор инструкций. Если не совпали, переходим к вычислению valueExpression2.
- Часть default не является обязательной.
- Части case можно группировать:
case 0: case 1: // инструкции
- Набор инструкций после case (и default) может завершаться переходом (break, return), но не обязан!