NodeJS读取文件返回的String为什么ES6的${}无效

发布于 2022-09-01 22:38:50 字数 309 浏览 9 评论 0

var fs = require('fs'),
    x  = '我是变量';

// 文件内容为 "data1 = ${x}"
var d1 = fs.readFileSync('./t.text','utf-8');
 
var d2 = `data2 = ${}`;

console.log(d1); // 输出 data1 = ${x}
console.log(d2); // 输出 data2 = 我是变量

同样是String类型,这两种方式有什么区别呢?
另外,读取文件后拿到的String怎么转换成d2那样,可以赋值变量进去呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷你仙 2022-09-08 22:38:50

用反引号定义的模板字符串是一种生成字符串语法,可以将 ${} 中的表达式算出来后作为字符串的一部分。

要让普通字符串“变成”模板字符串,可以将字符串左右加上反引号然后 eval。如果不要求解释表达式而只需转义 ${} 中定义的变量,则可以用正则替换,参考:http://stackoverflow.com/a/31999948/918120

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文