为什么“ \ a”和“ a”在JavaScript中是相同的东西?

时间:2019-06-04 14:14:49

标签: javascript

您知道JavaScript中的“ n”和“ \ n”不相同,导致第二个是转义序列,但是为什么“ \ a”和“ a”相同?如果检查两个字符串中的charCodeAt,就会知道。 有人可以向我解释吗? JavaScript中到底定义了什么转义序列?

3 个答案:

答案 0 :(得分:4)

\a不是一个特殊的序列(例如\n\t),因此\退回到了转义字符,这意味着后面的字符将可以原样使用(即使它是引号或特殊字符)。

因此,'\a' === 'a'

反斜杠的第二个用途(第一个是使用\n打印特殊字符,如换行符,或者使用\t打印TAB),是转义JavaScript特殊字符。例如,要使字符串包含引号,则可以用双引号"'"标记该字符串,或者如果使用单引号,则需要使用反斜杠进行转义,例如:'\'',以防止文字'终止字符串。

答案 1 :(得分:0)

正如您在this answer中所见,并非每个字母都有相关的转义序列。 'a'是没有关联转义序列的字母之一,因此对于Javascript,没有特殊含义,只是反斜杠和字母'a'。

答案 2 :(得分:-1)

只有几个字母与反斜杠形式的转义序列组合在一起(例如\ n,\ f,\ r,\ b,\ t,\ v),而\ a不在列表中。 请参考以下链接 https://www.w3schools.com/js/js_strings.asp