首页 > 解决方案 > 为什么 '\\\[' 等于 '\\[' ?反斜杠如何在字符串中工作?

问题描述

如标题

console.log('\\\[' === '\\[');

返回真。

谁能详细解释一下有什么区别?

标签: javascript

解决方案


大多数字符之前的反斜杠只会被解析为不必要的转义字符 - 反斜杠将被忽略。这就是第一个字符串的第二部分发生的事情。但是,在某些字符之前,例如\\, or中的另一个反斜杠\n,它将被解析为转义序列\\是单个文字反斜杠的转义序列:

console.log('\\');

并且只有一个字符。

a 之前的反斜杠[将解析为[,但是:

console.log('\[');

所以:

'\\\['- 文字反斜杠,后跟一个(不必要的转义)[

'\\['- 文字反斜杠,后跟一个普通的[

有关转义序列的列表,请参阅MDN


推荐阅读