所以我有这个string
var name = "Chaim";
var templateStr = "Hello, my name is ${name}";如何将其转换为模板字符串,以使结果等于:
var template = `Hello, my name is ${name}`;有没有办法以编程方式构造模板文字?
发布于 2015-04-21 20:05:43
有没有以编程方式构造模板文字的方法?
不是的。“编程上的”和“字面上的”是对立的(除非你是在编译器的领域)。
模板字符串最好被命名为interpolated string字面量或类似的名称。请使用 。如果要对模板使用动态创建的字符串,请使用您选择的模板引擎。
当然,模板字面量可能会对实现这类代码有所帮助,而您可能只需做一些简单的事情,比如
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 Chaimhttps://stackoverflow.com/questions/29771597
复制相似问题