Javascript 为什么'\\\[';等于';\[';?反斜杠在字符串中是如何工作的?

Javascript 为什么'\\\[';等于';\[';?反斜杠在字符串中是如何工作的?,javascript,Javascript,作为标题 console.log('\\\['=='\\[')大多数字符前面的反斜杠只会被解析为不必要的转义字符-反斜杠将被忽略。这是第一个字符串的第二部分发生的情况。但是在某些字符之前,例如\\或\n中的另一个反斜杠,它将被解析为转义序列。 \\是单个文字反斜杠的转义序列: console.log(“\\”);在字符串中,反斜杠(\)是一个特殊的字符,包括反斜杠 '\['是一个JavaScript字符串文字,包含反斜杠(\\)和一个方括号([)。在编译的程序中,字符串是\[ '\\['是一

作为标题

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

console.log(“\\”);
在字符串中,反斜杠(
\
)是一个特殊的字符,包括反斜杠

'\['
是一个JavaScript字符串文字,包含反斜杠(
\\
)和一个方括号(
[
)。在编译的程序中,字符串是
\[

'\\['
是一种JavaScript字符串文字,它包含正确编码的反斜杠(
\\
),后跟字符组合
\[
看起来像转义序列,但没有任何意义。因为这个组合没有定义,而且
\
本身也没有任何意义,JavaScript解释器会忽略反斜杠并更正字符串;它与第一个字符串相同(
\[

这种行为是:

对于表中未列出的字符,将忽略前面的反斜杠,但不推荐使用此用法,应避免使用


反斜杠是一种特殊字符。从字面上说,JS与浏览器对话,将
\
后的符号解释为原样。有时它称为屏蔽或屏蔽。 这就是为什么我们可以这样编写smth:
console.log(“在另一个中使用双引号”);
在另一个中使用双引号的结果。
没有任何错误。尽管这不是我们在任何地方都需要使用的方式

  • “\\\[”
    分为两部分:
    \\
    \[
    。第一部分返回
    \
    ,第二部分返回
    [
    。最后是
    \[
  • “\\[”
    分为两部分:
    \
    [
    。第一部分返回
    \
    ,第二部分返回
    [
    。最后是
    \[

  • 因为
    [
    不需要转义,即
    '\['=='['