首页 > web前端 > js教程 > 如何以编程方式安全地将字符串转换为 JavaScript 中的模板文字?

如何以编程方式安全地将字符串转换为 JavaScript 中的模板文字?

Patricia Arquette
发布: 2024-12-02 02:01:09
原创
499 人浏览过

How Can I Programmatically Convert a String to a Template Literal in JavaScript Safely?

以编程方式将字符串转换为模板字符串

在 Javascript 中,可以使用反引号 ( ) 或 来定义字符串模板。然而,在某些情况下,您可能会遇到这样的情况:您的字符串类似于模板字符串,但在语法上并非如此。

例如,您可能有一个类似于以下内容的字符串:

let a = "b:${b}";
登录后复制

并且您想稍后将其转换为有效的模板字符串。

需要注意的是,使用 eval 或 new Function 等方法进行动态代码生成出于安全原因不建议使用。反而。您可以利用 ES6 中实现的 String.prototype.interpolate 方法,如下所示:

String.prototype.interpolate = function(params) {
  const names = Object.keys(params);
  const vals = Object.values(params);
  return new Function(...names, `return \`${this}\`;`)(...vals);
};
登录后复制

利用此方法,您可以按以下方式转换字符串:

let b = 10;
console.log(a.interpolate({ b }));
登录后复制

输出将为 b:10,这表明变量 b 已成功插值到字符串 a 中。

以上是如何以编程方式安全地将字符串转换为 JavaScript 中的模板文字?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板