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

if

Описание

Сигнатура

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

Если значение для ложного условия не передано, возвращает undefined.

{{if condition trueValue falseValue}}

{{when condition trueValue falseValue}}

Параметры

Параметр

Тип

Описание

condition

Any

Условие (truthy / falsy).

trueValue

Any

Значение, если условие истинно.

falseValue

Any

Значение, если условие ложно (необязательный).

Примеры

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

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

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

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

unless

Описание

Сигнатура

Возвращает значение, если условие ложно. Инверсия {{if}}.

{{unless condition falseValue trueValue}}

Параметры

Параметр

Тип

Описание

condition

Any

Условие (truthy / falsy).

falseValue

Any

Значение, если условие ложно.

trueValue

Any

Значение, если условие истинно (необязательный).

Примеры
{{!-- Данные: { isLoggedIn: false, hasErrors: false } --}}

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

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

isEmpty

Описание

Сигнатура

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

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

{{isEmpty value}}

Параметры

Параметр

Тип

Описание

value

Any

Проверяемое значение.

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

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

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

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

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

not

Описание

Сигнатура

Инвертирует булево значение. Логическое отрицание.

{{not value}}

Параметры

Параметр

Тип

Описание

value

Any

Значение для инверсии.

Примеры

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

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

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

and

Описание

Сигнатура

Логическое И. Возвращает true, если все аргументы truthy, иначе false.

{{and value1 value2 ...valueN}}

Параметры

Параметр

Тип

Описание

value1..N

Any

Значения для проверки.

Примеры
{{!-- Данные: { isLoggedIn: true, isAdmin: true, hasPermission: false } --}}

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

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

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

or

Описание

Сигнатура

Логическое ИЛИ. Возвращает false, если все аргументы falsy, иначе true.

{{or value1 value2 ...valueN}}

Параметры

Параметр

Тип

Описание

value1..N

Any

Значения для проверки.

value2

Number

Второе значение.

Примеры
{{!-- Данные: { isModerator: true, isAdmin: true } --}}

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

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

Написать в чат

Написать письмо

Яндекс KITᵝ в Telegram

Яндекс KITᵝ в МАКС