# Розділ 6. Умовні оператори

&#x20;    Для того щоб отримувати різні результати в залежності від умови - використовують умовний оператор **if** :

```javascript
'use strict';

var a = 5;

if (a < 6) {
    console.log('Більше');
}
```

&#x20;    Для того щоб зазначити альтернативну дію в разі не виконання умови - використовують **else**:

```javascript
'use strict';

var a = 5;

if (a < 6) {
    console.log('Більше');
} else {
    console.log('Менше');
}
```

&#x20;    У випадках коли результатом є один рядок коду то можна використовувати спрощений варіант **запису в один рядок**:

```javascript
'use strict';

var a = 5;

// Було

if (a < 6) {
    console.log('Більше');
} 

// Стало

if (a < 6) console.log('Більше'); 
```

&#x20;    В **JS** є поширена практика використовувати синтаксис, який є скороченим варіантом написання стандартних речей - **синтетичний цукор**. Тому існує також спрощене написання пари **if** **else** з допомогою '**?**' та '**:**' :

```javascript
'use strict';

var a = 5;

// Було

if (a < 1) {
    console.log('Менше 1');
} else {
    console.log('Більше 1');
}

// Стало

(a < 1) ? console.log('Менше 1') : console.log('Більше 1');

//  умова ? результат в разі виконання умови : результат в разі не виконання умови
```

&#x20;    Доволі часто в коді трапляються моменти коли необхідно зробити декілька порівнянь одного значення :

```javascript
'use strict';

var a = 5;

if (a == 4) {
    console.log('Дорівнює 4');
} else {
    if (a == 5) {
        console.log('Дорівнює 5');
    } else {
        if (a == 6) {
            console.log('Дорівнює 6');
        }
    }
}
```

&#x20;    Для зручності читання можна розбити дане порівняння на частини :

```javascript
'use strict';

var a = 5;                    // =  використовується для присвоєння значення

if (a == 4) {                 // == використовується для порівняння значень
    console.log('Дорівнює 4');
} 

if (a == 5) {
    console.log('Дорівнює 5');
}

if (a == 6) {
    console.log('Дорівнює 6');
}
```

&#x20;    Проте для таких ситуацій було створено іншу конструкцію - **switch case** :

```javascript
'use strict';

var a = 5;

switch (a) {
    case 4:
        console.log('Дорівнює 4');
        break;
    case 5:
        console.log('Дорівнює 5');
        break;
    case 6:
        console.log('Дорівнює 6');
        break;
    default: 
        console.log('Інше');
}
```

&#x20;    Все доволі просто - **switch** приймає якесь значення і з допомогою **case** їх порівнює. Для того щоб після правильного **case** не порівнювати з наступними - пишуть **break** і порівняння завершується. Також якщо жоден з **case** не підійшов можна використати **default** як альтернативне рішення.

&#x20;    Для того щоб зробити перевірку декількох умов з однаковим значенням у **switch** передають **true** :

```javascript
'use strict';

var a = 5;

switch (true) {
    case a == 4:
        console.log('Дорівнює 4');
        break;
    case a == 5:
        console.log('Дорівнює 5');
        break;
    case a == 6:
        console.log('Дорівнює 6');
        break;
    default: 
        console.log('Інше');
}
```

&#x20;    Також можна робити один результат для декількох умов :

```javascript
'use strict';

var a = 5;

switch (a) {
    case 1:
    case 2:
    case 3:
    case 4:
        console.log('Більше!');
        break;
    case 5:
        console.log('Вірно');
        break;
    default: 
        console.log('Інше');
}
```

&#x20;    Отож ми дізнались, що існують такі умовні оператори як **if else** та **switch case**. Створюючи власні умови намагайтесь робити код читабельним та оптимальним, бо те що написане Вами має бути зрозумілим для інших.У наступному розділі ми розглянемо, що таке цикли та які бувають їх види.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://angularlessons.gitbook.io/javascriptiseasy/rozdil-6.-umovni-operatori.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
