Умовний оператор if виконує команду, якщо вказана умова є правдивою. Якщо умова є хибною, може бути виконана інша команда.
Синтаксис
if (condition) statement1 [else statement2]
statement1- Команда, що виконується, якщо умова є правдивою. Може бути будь-яка команда, в тому числі вкладені оператори
if. Для виконання кількох команд використовуйте блок ({ ... }), щоб згрупувати ці команди. Щоб не виконувати жодних команд, використайте порожній оператор.
statement2- Команда, що виконується, якщо умова є хибною та присутній блок
else. Може бути будь-яка команда, в тому числі блок команд та вкладені операториif.
Опис
Можна додавати вкладені вирази if...else для створення конструкції else if. Зауважте, що у JavaScript не існує ключового слова elseif (одним словом).
if (condition1) statement1 else if (condition2) statement2 else if (condition3) statement3 ... else statementN
Щоб побачити, як це працює, ось так це виглядає з правильно оформленими відступами:
if (condition1)
statement1
else
if (condition2)
statement2
else
if (condition3)
...
Щоб виконати декілька команд, використовуйте позначення блоку ({ ... }), щоб згрупувати ці команди. Взагалі, гарною практикою вважається завжди використовувати блочні вирази, особливо у коді, який містить вкладені оператори if:
if (condition) {
statements1
} else {
statements2
}
Не плутайте примітивні булеві значення true та false з правдивістю та хибністю об'єкта Boolean. Будь-яке значення, яке не є false, undefined, null, 0, -0, NaN, або порожнім текстовим рядком (""), і будь-який об'єкт, в тому числі об'єкт Boolean, чиє значення дорівнює false, вважається правдивим при використанні у якості умови. Для прикладу:
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 > 50) {
/* зробити що треба */
} else if (x > 5) {
/* зробити що треба */
} else {
/* зробити що треба */
}
Присвоєння всередині умовного виразу
Не рекомендовано використовувати прості присвоєння в умовному виразі, тому що присвоєння можна переплутати з порівнянням при швидкому перегляді коду. Наприклад, не використовуйте наступний код:
if (x = y) {
/* зробити що треба */
}
Якщо вам потрібно використати присвоєння в умовному виразі, загальноприйнятим є використання додаткових дужок навколо присвоєння. Наприклад:
if ((x = y)) {
/* зробити що треба */
}
Специфікації
Сумісність з веб-переглядачами
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
if...else | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 3 | Opera Full support Yes | Safari Full support Yes | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support 1.0 | nodejs Full support Yes |
Legend
- Full support
- Full support