---
metadata:
  - name: generator
    content: Diplodoc Platform v5.70.0
alternate:
  - https://yandex.ru/support/kit/ru/site-editor/custom-sections/utilities/inline-helpers/conditional.md
  - href: https://yandex.ru/support/kit/ru/site-editor/custom-sections/utilities/inline-helpers/conditional.md
    type: text/markdown
    title: Markdown version
  - href: https://yandex.ru/support/kit/ru/llms.txt?revision=r22105010
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/kit/ru/llms.txt?revision=r22105010


# Условная логика

### if {#if}

#|
|| **Описание** | **Сигнатура** ||
||  Возвращает одно из двух значений в зависимости от условия. Тернарный оператор в виде хелпера (`when` — другое имя того же хелпера). 

Если значение для ложного условия не передано, возвращает `undefined`. |
`{{if condition trueValue falseValue}}`

`{{when condition trueValue falseValue}}`
||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `condition` | Any | Условие (`truthy / falsy`). ||
||  `trueValue` | Any | Значение, если условие истинно. ||
||  `falseValue` | Any | Значение, если условие ложно (необязательный). ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars

{{!-- Данные: { isActive: true, stock: 0, user: null } --}}

{{if isActive "Активен" "Неактивен"}}
{{!-- Результат: "Активен" --}}

{{if stock "В наличии" "Нет в наличии"}}
{{!-- Результат: "Нет в наличии" --}}

{{if user user.name "Гость"}}
{{!-- Результат: "Гость" --}}

```

{% endcut %}

#### unless {#unless}

#|
|| **Описание** | **Сигнатура** ||
||  Возвращает значение, если условие **ложно**. Инверсия `{{if}}`. | `{{unless condition falseValue trueValue}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `condition` | Any | Условие (`truthy / falsy`). ||
||  `falseValue` | Any | Значение, если условие **ложно**. ||
||  `trueValue` | Any | Значение, если условие **истинно** (необязательный). ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{!-- Данные: { isLoggedIn: false, hasErrors: false } --}}

{{unless isLoggedIn "Войдите в аккаунт"}}
{{!-- Результат: "Войдите в аккаунт" --}}

{{unless hasErrors "Ошибок нет" "Есть ошибки"}}
{{!-- Результат: "Ошибок нет" --}}
```
{% endcut %}

#### isEmpty {#isEmpty}

#|
|| **Описание** | **Сигнатура** ||
|| Проверяет, является ли значение пустым. Возвращает `true` для: `null`, `undefined`, пустой строки, пустого массива, объекта без собственных перечисляемых строковых свойств (включая объекты с прототипом `null`).

Для остальных значений (строка из пробелов, числа, логические значения, экземпляры классов) возвращает `false`. | `{{isEmpty value}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `value` | Any | Проверяемое значение. ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{!-- Данные: { items: [], settings: {}, selected: null } --}}
{{isEmpty items}}
{{!-- Результат: true --}}

{{isEmpty settings}}
{{!-- Результат: true --}}

{{isEmpty selected}}
{{!-- Результат: true --}}

{{isEmpty " "}}
{{!-- Результат: false --}}

{{isEmpty 0}}
{{!-- Результат: false --}}

```

{% endcut %}

#### not {#not}

#|
|| **Описание** | **Сигнатура** ||
|| Инвертирует булево значение. Логическое отрицание. | `{{not value}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `value` | Any | Значение для инверсии. ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars

{{!-- Данные: { isHidden: true, isLoading: true, isValid: false } --}}

{{not isHidden}}
{{!-- Результат: false --}}

{{not isValid}}
{{!-- Результат: true --}}
```

{% endcut %}

#### and {#and}

#|
|| **Описание** | **Сигнатура** ||
||  Логическое **И**. Возвращает `true`, если **все** аргументы `truthy`, иначе `false`. | `{{and value1 value2 ...valueN}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `value1..N` | Any | Значения для проверки. ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{!-- Данные: { isLoggedIn: true, isAdmin: true, hasPermission: false } --}}

{{and isLoggedIn isAdmin}}
{{!-- Результат: true --}}

{{and isLoggedIn hasPermission}}
{{!-- Результат: false --}}

{{and isLoggedIn isAdmin hasPermission}}
{{!-- Результат: false --}}

```

{% endcut %}

#### or {#or}

#|
|| **Описание** | **Сигнатура** ||
||  Логическое **ИЛИ**. Возвращает `false`, если **все** аргументы `falsy`, иначе `true`. | `{{or value1 value2 ...valueN}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `value1..N` | Any | Значения для проверки. ||
||  `value2` | Number | Второе значение. ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{!-- Данные: { isModerator: true, isAdmin: true } --}}

{{or isModerator isAdmin}}
{{!-- Результат: true --}}

```

{% endcut %}


<!-- source: ru/_includes/support.md -->


## Обратиться в службу поддержки


[Написать в чат](https://yandex.ru/chat/#/user/6c041b05-07a4-99cc-79be-8670b7aff93d){.button}

[Написать письмо](https://yandex.ru/support/kit/ru/feedback.md){.button}

[Яндекс KITᵝ в Telegram](https://t.me/kityandex_support_bot){.button}

[Яндекс KITᵝ в МАКС](https://max.ru/yandex_kit_bot){.button}
<!-- endsource: ru/_includes/support.md -->
