通常在使用 javascript 进行编码时,您会遇到对字符串使用“单”或“双”引号的情况,并且想知道两者之间是否有任何真正的区别,如果有,使用一个是否有优势其他的报价类型?这篇文章就是来回答的!继续阅读!
两种引用风格的区别
单引号 (' ') 和双引号 (" ") 都用于表示 Javascript 中的字符串。选择引用样式由您决定,一种样式相对于另一种样式没有特殊的语义。尽管如此,重要的是要注意,javascript 中没有单个字符的类型,所有内容始终是字符串!
'apple' === "apple"两种引用方式的其他一些关键点如下:
'apple' //correct
"apple" //correct
"apple' //incorrect- 无论您使用哪种引用样式打开字符串,都以相同的样式关闭它。
- 系统不关心你使用哪一个。
- 在德语、匈牙利语、奥地利语和许多其他键盘上,单引号或双引号都必须使用 Shift 键。
- 在土耳其语 Q 键盘上,我们需要按Shift来输入单引号而不是双引号!
选择正确的引用风格
明智地选择引用可以帮助您避免在字符串中转义单引号 (')或双引号 (")。例如,如果您希望将 HTML 片段存储在变量中,您可以对 HTML 属性值使用双引号 (")并使用单引号 (') 将 JavaScript 字符串括起来:
var div = '<div class="panel">...</div>'引号内的引号
在字符串中使用引号会导致错误。例如,
var message='Javascript's beauty is simplicity';浏览器无法知道哪一个是结束引号。解释器将 'Javascript' 中的第二个引号视为结束引号 - 因此该行的其余部分变得无效。
我们可以通过使用 javascript 允许单引号和双引号来定义字符串这一事实来解决这个问题。因此,在这种情况下,您可以使用双引号。
var message="Javascript's beauty is simplicity";另一种方法是使用正斜杠"\"来转义引号。您在要转义的字符前面使用正斜杠。所以同样的信息变成:
var message='Javascript\'s beauty is simplicity';要记住的要点
- 双引号字符串可以有单引号而不转义它们,相反,单引号字符串可以在其中有双引号而不必转义它们。
- 双引号 ( \" ) 必须转义双引号,反之亦然单引号 ( \' ) 必须转义单引号。
单引号和双引号 - 优点和缺点
优点
单引号 | 双引号 |
空字符串 (' ') 更好的可读性看起来比 ("" "") | 在 JSON 中,唯一允许的引用样式是双引号 (" ") |
如果您想在 javascript 中编写 html 会更容易 | 用英语写句子时无需转义撇号 |
缺点
单引号 | 双引号 |
JSON 不支持 | 想要使用双引号时必须按一个额外的键 (Shift) |
流行的引号风格
梳理几个 流行的 JavaScript 项目,我们可以看到对单引号的偏好明显高于双引号。
项目 | 主导报价风格 |
odash | ' - 99% of quotes |
chalk | ' - 100% of quotes |
react | ' - 90% of quotes |
request | ' - 97% of quotes |
commander.js | ' - 97% of quotes |
moment | ' - 90% of quotes |
express | ' - 92% of quotes |
tslib | " - 100% of quotes |
debug | ' - 97% of quotes |
node-fs-extra | ' - 98% of quotes |
axios | ' - 81% of quotes |
数据来自byte archer
然而,相当多的前端库更喜欢双引号样式,这可能与 HTML 片段的存在有关。
离别的话
总而言之,尝试始终坚持一种引用风格。如果您对选择哪一个感到困惑,请使用广泛使用的单引号。在 ES6 中,您还可以使用第三个选项来包含字符串 - `backtick` 字符串。
















