我已经为单人或双人qoutes的字符串字面量的JavaScript(JSON除外)的讨论,似乎一个的选择或其他纯粹是任意的,有两个澄清:现在我们应该使用反引号来引用字符串文字吗?
- 使用所有代码都使用相同的约定(没有
var a="a", b='b'
)。 - 您可以灵活地适应文字,否则这些文字会需要转义很多字符,从而伤害可读性(不是
its='it\'s'
也不是normal="the \"normal\" thing"
)。
但是我们现在另一个qouting角色,那就是在模板文本中使用的反引号,这本身是非常不经常在普通的文本或代码比其他两个使用,因此需要较少的转义:
youre = `You're so "normal"!`
对于那些会产生不需要的嵌入式表达式的情况,至多需要留出美元符号。
我试图想到避免使用反码作为编码标准的原因,取而代之的是其他两种。
- 是否会损害性能?我想不是真的(我试图测量,但得到inconclusive results)。如果性能仅取决于要逃脱的字符数量,则可以看到来自边缘案例(如
youre
)或带有换行符的文字的改进。 - 打字速度较慢?这取决于你的键盘。在我的(西班牙语)中,双引号和单引号都在数字行中,而且难以触及,而双引号要求我按Shift键,而反引号只是远离手指的一个键,但需要按Space键,所以它很难说这将是我的。
- 浏览器兼容性?也许吧。但是时间解决了这个问题,并且在某些情况下它不相关,比如任何打算在Node.js中运行的东西。
是否有其他原因可能会阻止(或鼓励)将反引号设置为项目编码标准中字符串文字的qoute?
上的NodeJS – ZiTAL
@ZiTAL节点的当前版本LTS工作不工作(了好一会儿了) – Kos
''v0.10.29'语法错误:意外的令牌ILLEGAL' – ZiTAL