原文: How to Escape a String in JavaScript – JS Escaping Example

在 JavaScript 中,字符串是一种数据类型,它代表一个字符序列,可以由字母、数字、符号、单词或句子组成。

字符串被用来表示基于文本的数据,大多使用单引号(')或双引号(")来定义。

let name1 = 'John Doe';
let name2 = "John Doe";

由于这些引号是用来表示字符串的,所以在字符串中使用单引号和双引号时需要小心。

当你试图在一个字符串中使用它们时,从实际意义上讲,它将结束这个字符串,而 JavaScript 将试图把本来是字符串的其余部分解析为代码。这就会产生一个错误。

let quote = "He said, "I learned from freeCodeCamp!"";

这将引发一个错误,如下图所示:

Uncaught SyntaxError: Unexpected identifier 'I'

在 JavaScript 中,如果你需要在一个字符串中包含双引号或单引号,有三种主要方法来解决这个错误。这些方法是:

  • 通过使用相反的字符串语法
  • 使用转义字符
  • 使用模板字面量

如何在 JavaScript 中使用相反的字符串语法来转义一个字符串

在 JavaScript 中,你可以使用相反的字符串语法 '" 来转义一个字符串。要做到这一点,你必须用与你要转义的内容相反的语法来包裹字符串。

let quote = 'He said, "I learned from freeCodeCamp!"';
console.log(quote); // He said, "I learned from freeCodeCamp!"

let apostrophe = "It's a beautiful day";
console.log(apostrophe); // It's a beautiful day

这意味着如果你用双引号来包裹字符串,你可以在字符串中使用单引号。同样,如果你用单引号包裹字符串,那么你可以在字符串中使用双引号。

但这也有局限性,因为如果你必须在同一个字符串中使用双引号和单引号怎么办?那么你可以使用转义字符(\)。

如何在 JavaScript 中使用转义字符(\)来转义一个字符串

在 JavaScript 中,你可以通过使用 \(反斜杠)字符来转义一个字符串。反斜杠表示下一个字符应被视为字面字符,而不是特殊字符或字符串分隔符。

下面是一个用 JavaScript 转义字符串的例子:

let quote = "He said, \"I learned from freeCodeCamp!\"";
console.log(quote); // He said, "I learned from freeCodeCamp!"

let apostrophe = 'It\'s a beautiful day';
console.log(apostrophe); // It's a beautiful day

如何在 JavaScript 中使用模板字面量来转义一个字符串

在 JavaScript 中,你也可以使用模板字面量来转义字符串。

模板字面量允许你在字符串中嵌入表达式,使用语法 ${expression}

let quote = `He said, "I learned from freeCodeCamp!"`;
console.log(quote); // He said, "I learned from freeCodeCamp!"

使用模板字面量,你不需要使用反斜杠来转义字符。你只需用反引号(`) 来包裹字符串。

小结

在这篇文章中,你已经学会了如何在 JavaScript 中转义字符串。这将帮助你避免使用 Unicode 字符在字符串中添加双引号和单引号。

你可以访问我的网站以阅读我的 180 多篇文章。你也可以使用搜索栏来查看我是否写过特定的文章。