Как я могу построить строку шаблона из обычной строки?

javascript ecmascript-6 template-strings

7298 просмотра

1 ответ

41794 Репутация автора

Итак, у меня есть это string:

var name = "Chaim";
var templateStr = "Hello, my name is ${name}";

Как я могу преобразовать его в строку шаблона, чтобы результат был равен:

var template = `Hello, my name is ${name}`;

Есть ли способ программно построить шаблон литерала?

Автор: haim770 Источник Размещён: 21.04.2015 11:57

Ответы (1)


29 плюса

414405 Репутация автора

Решение

Есть ли способ программно построить шаблон литерала?

Нет. «Программно» и «буквально» противоположны (за исключением того, что вы находитесь в сферах компиляторов).

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

Конечно, шаблонные литералы могут помочь с реализацией такого, и вам может сойтись с чем-то простым, как

function assemble(literal, params) {
    return new Function(params, "return `"+literal+"`;"); // TODO: Proper escaping
//             ^^^^^^^^ working in real ES6 environments only, of course
}
var template = assemble("Hello, my name is ${name}", "name");
template("Chaim"); // Hello, my name is Chaim
Автор: Bergi Размещён: 21.04.2015 12:05
Вопросы из категории :
32x32