我最近开始看到JSLint发出以下警告:
JSLint:期待'''而不是看'''。
换句话说,它希望我使用双引号而不是单引号。为什么JSLint会对此发出警告?在JavaScript中,单引号和双引号是否可以互换?仅受程序员的偏好?
答案 0 :(得分:29)
JSLint的2016-02-07 version更改为使用双引号而不是单引号。 Douglas Crockford,JSLint开发人员和有影响力的JavaScript和JSON开发人员,provided this rationale:
当我第一次遇到JavaScript时,它[sic]很惊讶它有两种引号,我试图理解它,使用单个内部文本,双重外部。
但最终我意识到这种区别并不值得在只有一个需要的情况下产生两个混乱和混乱。我决定使用double,因为这是JSON使用的,它避免了由撇号重载引起的错误。我被这个咬了。
总的来说,我正在寻找使语言更小更好的方法。行情与null&未定义。我们真的不需要两者。
我尝试了一些自己的代码,我觉得这是一个改进。最后,我可以将option.single添加到JSLint。
确实发生了这种情况:option.single
已添加到JSLint的2016-06-09 version中,因此您现在可以告诉JSLint可选地忽略单引号。
Crockford更简洁地重申了他在a later discussion中单引号引用双引号的理由:
我发现人们在管理这两种报价方面遇到了一些困难。由于第二组完全没有必要,并且由于第二组[单引号]可能引入问题和混淆,我现在建议仅使用双引号。
答案 1 :(得分:11)
这是一个非常固执的工具的垃圾邮件警告,没有充分的理由。
旧的lint工具(JSLint和JSHint)已被ESLint完全取代,它支持更多规则并允许您配置您真正感兴趣的选项。具体来说,quotes
rule允许您完全选择单引号,双引号或忽略引号。