Перейти до основного вмісту

Розгалуження

Розгалуження використовуються для виконання різноманітного коду, залежно від умови. Принцип роботи простий - результат умови приводиться до буля true або false, після чого потік програми спрямовується в ту або іншу гілку.

Інструкція if

Синтаксис if
if (умова) {
// тіло if
}

Вхідні дані, які приводяться до буля, називаються умовою. Умова ставиться після оператора if в круглих дужках. Якщо умова приводиться до true, то виконується код у фігурних дужках тіла if.

let cost = 0;
const subscription = "pro";

if (subscription === "pro") {
cost = 100;
}

console.log(cost); // 100

Якщо умова приводиться до false, код у фігурних дужках буде пропущений.

let cost = 0;
const subscription = "free";

if (subscription === "pro") {
cost = 100;
}

console.log(cost); // 0

Інструкція if...else

Синтаксис if...else
if (умова) {
// тіло if
} else {
// тіло else
}

Розширює синтаксис if таким чином, що якщо умова приводиться до false, виконається код у фігурних дужках після оператора else.

let cost;
const subscription = "free";

if (subscription === "pro") {
cost = 100;
} else {
cost = 0;
}

console.log(cost); // 0

Якщо умова приводиться до true, тіло блока else ігнорується.

let cost;
const subscription = "pro";

if (subscription === "pro") {
cost = 100;
} else {
cost = 0;
}

console.log(cost); // 100

Інструкція else...if

Синтаксис else...if

Конструкція if...else може перевірити і зреагувати на виконання або невиконання лише однієї умови.

Блок else...if дозволяє додати після else ще один оператор if з умовою. В кінці ланцюжка може бути класичний блок else, який виконається лише у тому випадку, якщо жодна умова не приведеться до true.

let cost;
const subscription = "premium";

if (subscription === "free") {
cost = 0;
} else if (subscription === "pro") {
cost = 100;
} else if (subscription === "premium") {
cost = 500;
} else {
console.log("Invalid subscription type");
}

console.log(cost); // 500

При першому true перевірки припиняться і виконається лише один сценарій, який відповідає цьому true. Тому, такий запис варто читати як: шукаю перший збіг умови, ігнорую все інше.