<分区>
我一直在讨论 Javascript 中字符串文字的单引号或双引号(除了 JSON),似乎选择一个或另一个纯粹是任意的,有两个澄清:
- 对所有代码使用相同的约定(没有
var a="a", b='b'
)。 - 您可以灵活地容纳原本需要转义大量字符的文字,从而损害可读性(没有
its='it\'s'
也没有normal="the\"正常\"东西"
).
但我们现在有了另一个引号字符,即模板文字中使用的反引号,它本身在普通文本或代码中的使用频率远低于其他两个字符,因此需要较少的转义:
youre = `You're so "normal"!`
最多,在会产生不需要的嵌入表达式的情况下,需要将美元符号留空。
我试着想出一些理由来避免使用反引号作为编码标准,取而代之的是其他两个。
- 它会影响性能吗? 我想不会(我尝试测量但得到了 inconclusive results )。如果性能仅取决于要转义的字符数,您可以看到
youre
或带换行符的文字等边缘情况的改进。 - 打字速度变慢? 这取决于您的键盘。在我的(西类牙语)中,双引号和单引号都在数字行中并且更难触及,双引号需要我按 Shift,而反引号离我的手指只有一个键但需要按空格键,所以它是很难说会适合我。
- 浏览器兼容性? 可能吧。但是时间解决了它,并且在某些情况下它是不相关的,就像任何打算在 Node.js 中运行的东西。
是否有其他原因可能会阻止(或鼓励)在项目的编码标准中将反引号设置为字符串文字的引号?