if...else
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨Ð¸ÑÐ»Ñ 2015 г.â©.
ÐнÑÑÑÑкÑÐ¸Ñ if вÑполнÑÐµÑ Ð¸Ð½ÑÑÑÑкÑиÑ, еÑли Ñказанное ÑÑловие вÑполнÑеÑÑÑ (иÑÑинно). ÐÑли ÑÑловие не вÑполнÑеÑÑÑ (ложно), Ñо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²Ñполнена дÑÑÐ³Ð°Ñ Ð¸Ð½ÑÑÑÑкÑиÑ.
СинÑакÑиÑ
if (ÑÑловие) инÑÑÑÑкÑиÑ1 [else инÑÑÑÑкÑиÑ2]
ÑÑловие-
ÐÑÑажение, коÑоÑое ÑвлÑеÑÑÑ Ð»Ð¸Ð±Ð¾ иÑÑиннÑм, либо ложнÑм.
инÑÑÑÑкÑиÑ1-
ÐнÑÑÑÑкÑиÑ, вÑполнÑÐµÐ¼Ð°Ñ Ð² ÑлÑÑае, еÑли знаÑение
"ÑÑловиe"иÑÑинно (true). ÐÐ¾Ð¶ÐµÑ Ð±ÑÑÑ Ð»Ñбой инÑÑÑÑкÑией в Ñом ÑиÑле и вложеннÑмif. ÐÐ»Ñ Ð³ÑÑппиÑовки неÑколÑÐºÐ¸Ñ Ð¸Ð½ÑÑÑÑкÑий иÑполÑзÑеÑÑÑ Ð±Ð»Ð¾Ðº ({...}), Ðогда никакого дейÑÑÐ²Ð¸Ñ Ð½Ðµ ÑÑебÑеÑÑÑ, Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¿ÑÑÑÐ°Ñ Ð¸Ð½ÑÑÑÑкÑиÑ.
инÑÑÑÑкÑиÑ2-
ÐнÑÑÑÑкÑиÑ, вÑполнÑÐµÐ¼Ð°Ñ Ð² ÑлÑÑае, еÑли знаÑение
"ÑÑловиe"ложно (false). ÐÐ¾Ð¶ÐµÑ Ð±ÑÑÑ Ð»Ñбой инÑÑÑÑкÑией, в Ñом ÑиÑле и вложеннÑмif. ÐнÑÑÑÑкÑии Ñоже можно гÑÑппиÑоваÑÑ Ð² блок.
ÐпиÑание
ÐеÑколÑко команд if ... else могÑÑ Ð±ÑÑÑ Ð²Ð»Ð¾Ð¶ÐµÐ½Ñ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑÑÐ»Ð¾Ð²Ð¸Ñ else if. ÐбÑаÑиÑе внимание, ÑÑо в JavaScript Ð½ÐµÑ ÐºÐ»ÑÑевого Ñлова elseif (в одно Ñлово).
if (ÑÑловие1) инÑÑÑÑкÑиÑ1 else if (ÑÑловие2) инÑÑÑÑкÑиÑ2 else if (ÑÑловие3) инÑÑÑÑкÑиÑ3 ... else инÑÑÑÑкÑиÑ
ЧÑÐ¾Ð±Ñ ÑвидеÑÑ, как ÑÑо ÑабоÑаеÑ, ниже пÑедÑÑавлен пÑÐ¸Ð¼ÐµÑ Ð¿ÑавилÑного Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ Ð¾ÑÑÑÑпами:
if (ÑÑловие1)
инÑÑÑÑкÑиÑ1
else
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 > |