ES6 模板文字中的可重用性难题
本次讨论中提出的主要问题围绕着 ES6 模板文字中假定的缺乏可重用性。传统的演示强调声明时的替换,不允许运行时修改。
解决方案:利用函数构造函数
为了解决这个问题,一个可行的解决方案以以下形式出现函数构造函数。这种方法涉及将模板字符串转换为函数。
考虑以下代码片段:
<code class="js">const templateString = `Hello ${this.name}!`; const templateVars = { name: "world" }; const fillTemplate = function(templateString, templateVars){ return new Function("return `" + templateString + "`;").call(templateVars); }; console.log(fillTemplate(templateString, templateVars));</code>
通过调用此函数,您可以生成所需的字符串,同时可以灵活地修改变量
此方法的优点:
潜在缺点:
总而言之,虽然 ES6 模板文字本质上缺乏真正的可重用性,但使用Function 构造函数提供了一种解决方法,可以模拟在运行时创建和修改模板的所需行为。
以上是ES6 模板文字真的可以重用吗?的详细内容。更多信息请关注PHP中文网其他相关文章!