Выражения

Выражения в шаблонах в большинстве случаев используются для подстановки значений параметров. Однако, помимо параметров существуют и другие возможности.

Типы данных

Данные, которыми манипулируют выражения в шаблонах, бывают нескольких типов.

строка (string)

Наиболее распространённый тип данных. При выводе строк в тексте служебные HTML символы будут преобразованы в соответствующие мнемоники. Нельзя вывести HTML код с помощью строк.

Строковые данные могут содержаться в параметрах, или могут быть созданы с помощью строковых литералов (см. ниже).

булев типа (boolean)

Тип служит при проверки условий. При выводе в тексте не будет выведено ничего как для true, так и для false, что может быть использовано для условного вывода.

null

При использовании несуществующего параметра получается специальное значение null. При выводе в тексте ничего не будет выведено.

Предопределённые константы

Существуют следующие предопределённые константы: true, false и null.

Строковые литералы

Строковые литералы могут быть равноправно заключены либо в кавычки "...", либо в апострофы '...'.

Внутри строк возможно использование следующих специальных последовательностей для вставки специальных символов:

  • \n — перенос строки LF (0A);
  • \r — возврат каретки CR (0D);
  • \t — табуляция TAB (09);
  • \xHH — байт с указанным ASCII кодом (ровно 2 шестнадцатиричных цифры);
  • \uHHHH — символ с указанным UNICODE кодом (ровно 4 шестнадцатиричных цифры), например "\u2014" символ тире "—";
  • \u{hex} — символ с указанным UNICODE кодом (любое количество шестнадцатиричных цифры), например "\u{2014}" символ тире "—";
  • \\ — символ \
  • \' — апостроф ' ;
  • \" — кавычка " ;
  • \$ — доллар $ .

В строковых литералах работает подстановка выражений с помощью конструкции ${ }. Например:

<a
    href={ url }
    title={ "Название: ${ title }" }
    class={ "nav-link ${ active && "active" }" }
>
    ...
</a>

Операторы

Для вычислений доступны следующие операторы в порядке уменьшения приоритета:

  1. (A) — группирующие скобки;
  2. !A — логическое отрицание;
  3. A && B — логическое И;
  4. A || B — логическое ИЛИ;
  5. A ? B : C — условный оператор.
!A

Результатом выражения является булев тип. Значение соответствует логической инверсии операнда.

A && B

Логическое И. Если значение левого операнда соответствует false, то результат есть значение левого операнда. Иначе результат есть значение правого операнда.

Похожее поведение оператора, например, есть в языках программирования JavaScript и Perl.

A || B

Логическое ИЛИ. Если значение левого операнда соответствует true, то результат есть значение левого операнда. Иначе результат есть значение правого операнда.

Похожее поведение оператора, например, есть в языках программирования JavaScript и Perl.

A ? B : C

Условный (тернарный) оператор. Если значение выражения A соответствует true, то результатом является значение выражения B. Иначе результат есть значение выражения C.

Пока никто не оценил эту статью. Эта статья помогла Вам?