ES6 中的模板文字经常被吹捧为强大的文本操作工具,但一个棘手的问题仍然存在:它们真的可以重用吗?
无法实现的期望
乍一看,模板文字似乎只在声明时承诺动态替换。这就引出了一个问题:什么是保持静态的模板?
打破循环
与流行的看法相反,模板文字可以通过使用 Function 的运行时替换来重新焕发活力作为中介的构造函数:
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!
可重用模板的剖析
此技术允许以下内容:
解决警告
虽然此方法提供了复苏的功能,但有一些警告:
尽管有这些限制,但很明显,只要有一点独创性,模板文字就可以超越其传统限制并变得真正可重用。
以上是模板文字可以真正重用吗?的详细内容。更多信息请关注PHP中文网其他相关文章!