if...else
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Инструкция if выполняет инструкцию, если указанное условие выполняется (истинно). Если условие не выполняется (ложно), то может быть выполнена другая инструкция.
Синтаксис
if (условие) инструкция1[else инструкция2]
инструкция1
Инструкция, выполняемая в случае, если значение
"условиe"
истинно (true
). Может быть любой инструкцией в том числе и вложеннымif
. Для группировки нескольких инструкций используется блок ({...}
), Когда никакого действия не требуется, может использоватьсяпустая инструкция.
инструкция2
Инструкция, выполняемая в случае, если значение
"условиe"
ложно (false
). Может быть любой инструкцией, в том числе и вложеннымif
. Инструкции тоже можно группировать в блок.
Описание
Несколько команд if ... else могут быть вложены для создания условияelse if
. Обратите внимание, что в JavaScript нет ключевого словаelseif
(в одно слово).
if (условие1) инструкция1else if (условие2) инструкция2else if (условие3) инструкция3...else инструкция
Чтобы увидеть, как это работает, ниже представлен пример правильного вложения с отступами:
if (условие1) инструкция1else if (условие2) инструкция2 else if (условие3)...
Чтобы выполнить несколько инструкций в условии, используйте блочный оператор ({...}) для группирования этих инструкций. В общем, хорошей практикой всегда является использование блочных операторов, особенно в коде, включающем вложенные операторыif
:
if (условие) { инструкции1} else { инструкции2}
Не путайте примитивные логические значенияtrue
иfalse
с правдивостью или ложностью булева объекта. Любое значение, которое неundefined
,null
,0
,NaN
или пустая строка (""), и любой объект, включая объект Boolean, значение которого является ложным, считается правдивым при использовании в качестве условия. Например:
var b = new Boolean(false);if (b) // это условие истинно
Примеры
Использованиеif...else
if (cipher_char === from_char) { result = result + to_char; x++;} else { result = result + clear_char;}
Использованиеelse if
Обратите внимание, что в JavaScript нет синтаксисаelseif
. Однако вы можете записать его с пробелом междуelse
иif
:
if (x > 5) {} else if (x > 50) {} else {}
Присваивание в условном выражении
Целесообразно не использовать простые присваивания в условном выражении, потому что при взгляде на код присваивание можно путать с равенством. Например, не используйте следующий код:
if (x = y) { /* сделать что-то */}
Если вам нужно использовать присваивание в условном выражении, обычной практикой является размещение дополнительных скобок вокруг присваивания. Например:
if ((x = y)) { /* сделать что-то */}
Спецификации
Specification |
---|
ECMAScript® 2026 Language Specification # sec-if-statement |