Template literals используют обратные кавычки (`) и добавляют два вещи, которых нет в обычных кавычках: интерполяцию выражений и многострочные строки.
js
name = ;
count = ;
msg = ;
total = ;
html = ;
Template literals используют обратные кавычки (`) и добавляют два вещи, которых нет в обычных кавычках: интерполяцию выражений и многострочные строки.
name = ;
count = ;
msg = ;
total = ;
html = ;
Перед template literals вы писали бы "Hi " + name + ", " + count + ... — многословно и подвержено ошибкам. Интерполяция гораздо более читаема.
Функция, помещённая перед обратными кавычками, получает части строки и интерполированные значения, позволяя ей их обработать:
function highlight(strings, ...values) {
return strings.reduce((out, s, i) =>
out + s + (values[i] ? `<b>${values[i]}</b>` : ""), "");
}
highlight`Hello ${name}!`; // "Hello <b>Ann</b>!"
Это поддерживает библиотеки вроде styled-components и помощники безопасного экранирования SQL/HTML.
Template literals — стандартный способ построения строк в наше время — читаемая интерполяция, простой многострочный текст и hook (помеченные шаблоны) для DSL-ов.