Sio*_*rki 7 javascript string syntax ecmascript-6 template-literals
ES6引入了由反引号分隔的模板字符串`
.
在哪些情况下,用反引号替换字符串周围的单引号'
或双"
引号会产生不同的结果,否则会不安全?
作为操作的一部分,执行代码内现有反引号的转义.
// before
var message = "Display backtick ` on screen";
// after
var message = `Display backtick \` on screen`;
Run Code Online (Sandbox Code Playgroud)
我理解任何包含的字符串${...}
都会失败,因为它会被错误地解释为占位符.还有其他相关模式吗?
上下文:这是用于开发自动处理输入代码的JS压缩工具.后者及其包含的字符串是用户提供的,因此我无法控制其内容.可以做出的唯一假设是它是有效的Javascript.
执行环境可以通过任何最近的浏览器或Node.js.
您可以检查字符串文字和no-substitution-templates的语法。
除了您已经提到的`
vs. '
vs."
和特殊含义之外${
,两种形式之间只有换行符不同。我们可以忽略行延续(“转义换行符”),因为你的压缩器无论如何都会将它们删除,但是普通换行符在模板内有效,而在字符串文字内无效,所以如果你来回转换,你必须关心这些出色地。如果您的字符串文字包含\n
.
归档时间: |
|
查看次数: |
249 次 |
最近记录: |