【发布时间】:2016-10-11 05:41:34
【问题描述】:
假设我有这样的模板文字:
const templateLiteral = `string text ${expression} string text`
我想将模板文字动态评估为完成的字符串。
function toFoo(templateLiteral){
//returns "string text Foo string text"
return templateLiteral.evaluate('Foo');
}
function toBar(templateLiteral){
//returns "string text Bar string text"
return templateLiteral.evaluate('Bar');
}
function toBaz(templateLiteral){
//returns "string text Baz string text"
return templateLiteral.evaluate('Baz');
}
有没有办法用模板文字做这样的事情,还是我只是愚蠢? (template.evaluate() 是一个组合函数,但我正在寻找 JS 的那种功能!)。
【问题讨论】:
-
听起来有点像一般的替换功能?
-
但是......模板文字(像所有文字一样)不会在它出现的地方被评估,创建一个不知道它来自文字的字符串吗?
-
如果它被包装在一个函数中,可能不会:)
-
你可以找到关于模板字面量的有价值的信息 -indepth.dev/posts/1362/…
标签: javascript node.js