在 JavaScript 中从常规字符串创建模板字符串
问题出现了:是否可以轻松地将常规字符串转换为模板字符串?
考虑以下事项:
let a = "b:${b}";
我们可能想要将其转换为模板字符串:
let b = 10; console.log(a.template()); // b:10
在不依赖 eval 或类似的动态代码生成方法的情况下实现此目的,在 ES6 中有一个简单的解决方案:
String.prototype.interpolate = function(params) { const names = Object.keys(params); const vals = Object.values(params); return new Function(...names, `return \`${this}\`;`)(...vals); }
使用此方法放置,使用它变得简单:
const template = 'Example text: ${text}'; const result = template.interpolate({ text: 'Foo Boo' }); console.log(result);
以上是如何在 JavaScript 中轻松将常规字符串转换为模板字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!