Перейти к основному содержимому
Об авторе
Проекты
Знания
Знания/JavaScript/template-literals

Что такое `template literals` и `tagged templates`?

СобеседованиеСтроки
  • Template literals — строки в обратных кавычках с интерполяцией:
    • `Hello, ${name}!` — подстановка выражений
    • Поддерживают многострочность без \n
  • Tagged templates — функция, обрабатывающая template literal:
function html(strings, ...values) {
    return strings.reduce((result, str, i) =>
        result + str + (values[i] !== undefined ? escapeHtml(values[i]) : ''), '');
}
html`<p>${userInput}</p>` // экранирует userInput
  • strings — массив строковых частей (с .raw для необработанных строк)
  • Применения: санитизация HTML, CSS-in-JS (styled-components), i18n, SQL-запросы
  • Главная
  • Об авторе
  • Проекты
  • Знания
Логотип nKolmykov