【发布时间】:2020-08-08 12:39:39
【问题描述】:
String.raw 可用于创建包含反斜杠的字符串,而无需将这些反斜杠加倍。
从历史上看,创建字符串时需要将反斜杠加倍:
let str = "C:\\Program Files\\7-Zip";
console.log(str);
String.raw 允许您的代码在没有双反斜杠的情况下显示路径:
let str = String.raw`C:\Program Files\7-Zip`;
console.log(str);
上面的代码可以正常工作,但是今天发现如果原始字符串以反斜杠结尾就不行了:
let str = String.raw`Can't End Raw With Backslash\`;
console.log(str);
上面的 sn -p 会产生这个错误:
{
"message": "SyntaxError: `` literal not terminated before end of script",
"filename": "https://stacksnippets.net/js",
"lineno": 14,
"colno": 4
}
为什么这是一个例外?
【问题讨论】:
标签: javascript node.js ecmascript-next template-literals