JavaScript转义字符串中的引号back

发布于 2022-05-25  1.32k 次阅读  共 845 字


定义一个字符串必须要用单引号或双引号来包裹它。 那么当你的字符串里面包含引号 " 或者 ' 时该怎么办呢?

在 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 中,通过使用反斜杠 \ 转义字符可以安全地使用两种引号。

提示: 不要混淆反斜杠 \ 和斜杠 /。 它们不是一回事。