> For the complete documentation index, see [llms.txt](https://aleksandra-hrevtsova.gitbook.io/senior-front-end-javascript/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aleksandra-hrevtsova.gitbook.io/senior-front-end-javascript/bazovyi-sintaksis/vetvleniya-i-ternarnyi-operator.md).

# Ветвления и Тернарный оператор

## IF - условный оператор ветвления

`condition` - условие, выражение, результат которого возвращает true или false.

```
if (condition) {
    statement
}
```

Если `condition`вернет true, то выполнится код в `statement` в блоке ветвления {}.

Если  `condition` вернет false, то `statement` в блоке ветвления не выполнится.

Чтобы задать выполнения кода при ложном условии, можно использовать необязательный блок else.

## ELSE...IF - еще одно условие

Дополнительных условий может быть сколько угодно.

```
if (condition) {
    statement
} else if (condition) {
    statement 
{ esle if (condition) {
    statement 
{
```

## ELSE - во всех остальных случаях

Используется в связке с условными операторами `if` и `else...if`

Всегда указывается последним после всех условных операторов ветвлений.

```
if (condition) {
    statement
} else if (condition) {
    statement 
} esle if (condition) {
    statement 
} else {
    statement
}
```

Блок else не имеет своего `condition` потому что выполняется, если все условия выше не прошли проверку.

## Тернарный оператор ?

`?` - используется как альтернатива if...else, когда есть блока кода при соблюдении условия и все остальные случаи.

Считается короткой записью ветвления, поэтому нельзя использовать, если statement должен содержать более одной инструкции.

```
// ПРИМЕР ВЕТВЛЕНИЯ
let greet;
if (name) {
    greet = `Hello ${name}`
    return greet;
} else {
    greet = 'Hello user';
    return greet;
}

// ПРИМЕР ТЕРНАРНОГО ОПЕРАТОРА
let greet = name ? `Hello ${name}` : 'Hello user';
```

Правда удобно?

Но еще раз повторю, использование тернарного операторы применимо, если statement не содержит более одной операции.&#x20;
