何时在JavaScript中使用双引号或单引号?

console.log("double"); vs console.log('single');

处理字符串时,我看到越来越多的JavaScript库使用单引号。 使用其中一个的原因是什么? 我认为他们几乎可以互换。


在不同的库中使用单对比的最可能的原因是程序员偏好和/或API一致性。

除了保持一致,请使用最适合字符串的内容:

使用其他类型的引号作为文字:

alert('Say "Hello"');
alert("Say 'Hello'");

...但这可能会变得复杂......

alert("It's "game" time.");
alert('It's "game" time.');

ES6中新增的另一选项是使用back-tick字符的模板文字:

alert(`Use "double" and 'single' quotes in the same string`);
alert(`The escape the ` back-tick character in a string`);

模板文字提供了一个干净的语法:可变插值,多行字符串等等。


如果你在处理JSON,那么应该注意,严格来说,JSON字符串必须用双引号。 当然,很多图书馆也支持单引号,但是在实现单引号字符串实际上并不符合JSON标准之前,我在其中一个项目中遇到了很多问题。


没有更好的解决方案 ; 然而,我想争辩说有时候双引号可能会更合意:

  • 新手已经熟悉他们的语言中的双引号 。 在英语中,我们必须使用双引号"来标识引用文本的段落,如果我们使用单引号' ,读者可能会误解为一种收缩。“由'包围的文本段落的其他含义表示'口语'的含义,保持与现有语言的一致性是有意义的,这可能会缓解对代码的学习和解释。
  • 双引号消除了撇号的需要 (如收缩)。 考虑一下字符串: "I'm going to the mall" ,而不是其他版本: 'I'm going to the mall'
  • 双引号表示许多其他语言中的字符串 。 当你学习像Java或C这样的新语言时,总是使用双引号。 在Ruby,PHP和Perl中,单引号字符串意味着没有反斜杠转义,而双引号支持它们。

  • JSON表示法用双引号编写。

  • 尽管如此,正如其他人所说,保持一致是最重要的。

    链接地址: http://www.djcxy.com/p/8419.html

    上一篇: When to use double or single quotes in JavaScript?

    下一篇: (![]+[])[+[]]... Explain why this works