- Главная
- Категории
- Настройки
- Темы оформления
- Шаблоны
- Выражения
Выражения
Выражения в шаблонах в большинстве случаев используются для подстановки значений параметров. Однако, помимо параметров существуют и другие возможности.
Типы данных
Данные, которыми манипулируют выражения в шаблонах, бывают нескольких типов.
строка (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>
Операторы
Для вычислений доступны следующие операторы в порядке уменьшения приоритета:
- (A) — группирующие скобки;
- !A — логическое отрицание;
- A && B — логическое И;
- A || B — логическое ИЛИ;
- A ? B : C — условный оператор.
!A
Результатом выражения является булев тип. Значение соответствует логической инверсии операнда.
A && B
Логическое И. Если значение левого операнда соответствует false, то результат есть значение левого операнда. Иначе результат есть значение правого операнда.
Похожее поведение оператора, например, есть в языках программирования JavaScript и Perl.
A || B
Логическое ИЛИ. Если значение левого операнда соответствует true, то результат есть значение левого операнда. Иначе результат есть значение правого операнда.
Похожее поведение оператора, например, есть в языках программирования JavaScript и Perl.
A ? B : C
Условный (тернарный) оператор. Если значение выражения A соответствует true, то результатом является значение выражения B. Иначе результат есть значение выражения C.