我发现节点v0.10有一些我无法在Chrome中复制的行为。它会在每个'
之前自动添加\所以这将是脚本和输出:
var test = "'test";
var testObj = {test:test};
console.log(test); // => 'test
console.log(testObj); // => {'test':'\'test'}
在浏览器控制台中,我没有看到\后面自动附加\ 这是节点的良好和正常行为吗?这是我目前对使用某个NPM软件包遇到的问题的怀疑,但我似乎无法迫使节点无法逃脱单引号
答案 0 :(得分:0)
这只是从Chrome到node.js的console.log()
实施的差异。它对代码的执行没有任何影响。
console.log()
的node.js实现正试图将'test
显示为有效的Javascript字符串。因为默认情况下,当它们是属性值时,引用带有单引号的字符串,显示它的唯一方法是通过转义嵌入的单引号。
这种差异不应该以任何方式影响您的运行代码。在这两种情况下,底层的Javascript属性都是相同的。这只是console.log()
中的实现差异,它不受任何开放标准的约束,因此每个实现者都会自行选择如何显示console.log()
输出。