定义一个字符串必须要用单引号或双引号来包裹它。 那么当你的字符串里面包含引号 "
或者 '
时该怎么办呢?
在 JavaScript 中,可以通过在引号前面使用反斜杠(\
)来转义引号。
const sampleStr = "Alan said, \"Peter is learning JavaScript\".";
有了转义符号,JavaScript 就知道这个单引号或双引号并不是字符串的结尾,而是字符串内的字符。 所以,上面的字符串打印到控制台的结果为:
Alan said, "Peter is learning JavaScript".
JavaScript 中的字符串可以使用开始和结束都是同类型的单引号或双引号表示。 与其他一些编程语言不同的是,单引号和双引号的功能在 JavaScript 中是相同的。
const doubleQuoteStr = "This is a string";
const singleQuoteStr = 'This is also a string';
当你需要在一个字符串中使用多个引号的时候,你可以使用单引号包裹双引号或者相反。 常见的场景比如在字符串中包含对话的句子需要用引号包裹。 另外比如在一个包含有 <a>
标签的字符串中,标签的属性值需要用引号包裹。
const conversation = 'Finn exclaims to Jake, "Algebraic!"';
然而,如果你需要在其中使用外面的引号,这就成为一个问题。 记住,一个字符串在开头和结尾处有相同的引号。 要知道,字符串在开头和结尾都有相同的引号,如果在中间使用了相同的引号,字符串会提前中止并抛出错误。
const goodStr = 'Jake asks Finn, "Hey, let\'s go on an adventure?"';
const badStr = 'Finn responds, "Let's go!"';
在这里 badStr
会产生一个错误。
在上面的 goodStr 中,通过使用反斜杠 \
转义字符可以安全地使用两种引号。
提示: 不要混淆反斜杠 \
和斜杠 /
。 它们不是一回事。