ES6 引入了由反引号分隔的模板字符串`
。
在哪些情况下,用反引号替换字符串周围的单引号'
或双"
引号会产生不同的结果,或者是不安全的?
代码中现有反引号的转义是操作的一部分。
// before
var message = "Display backtick ` on screen";
// after
var message = `Display backtick \` on screen`;
我知道任何包含的字符串${...}
都会失败,因为它会被(错误)解释为占位符。还有其他相关模式吗?
上下文:这是用于开发一个自动处理输入代码的JS压缩工具。后者及其包含的字符串是用户提供的,因此我无法控制其内容。唯一可以做出的假设是它是有效的 Javascript。
执行环境可以通过任何最近的浏览器或 Node.js。