«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Могут ли литералы шаблонов действительно использоваться повторно?

Могут ли литералы шаблонов действительно использоваться повторно?

Опубликовано 7 ноября 2024 г.
Просматривать:497

Can Template Literals Be Truly Reused?

Литералы шаблонов: возрождение повторного использования

Литералы шаблонов в ES6 часто рекламируются как мощные инструменты манипулирования текстом, но остается мучительный вопрос: можно ли их действительно использовать повторно?

Неоправдавшиеся ожидания

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

Разрыв цикла

Вопреки распространенному мнению, литералы шаблона можно оживить с помощью подстановок во время выполнения с использованием функции конструктор в качестве посредника:

const template = "Hello ${this.name}!";
const variables = {
  name: "world"
};
function fillTemplate(str, data) {
  return new Function("return `"   str   "`;").call(data);
}
console.log(fillTemplate(template, variables)); // Output: Hello world!

Анатомия многоразового шаблона

Этот метод позволяет выполнять следующее:

  • Время выполнения интерполяция: Переменные заполняются динамически, как в традиционных шаблонизаторах.
  • Фрагментация: Шаблоны можно хранить в отдельных файлах или получать динамически.
  • Динамическое создание: Шаблоны можно создавать и оценивать на лету.

Устранение недостатков

Хотя этот метод предлагает реанимированную функциональность, есть некоторые предостережения:

  • Ограниченный JavaScript: Встроенная логика JavaScript невозможна из-за поздней интерполяции.
  • Теги шаблонов: Теги шаблонов становятся сложными для реализации.

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

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3