Thu*_*rge 30 javascript jslint
我最近开始看到JSLint发出以下警告:
JSLint:期待'''而不是'''.
换句话说,它希望我使用双引号而不是单引号.为什么JSLint会对此发出警告?在JavaScript中,单引号和双引号是否或多或少可互换,仅受程序员的偏好?
Thu*_*rge 32
在2016年2月7日版的JSLint的改变更喜欢单引号双引号.JSLint的开发人员和JavaScript和JSON的有影响力的开发人员Douglas Crockford 提供了这样的理由:
当我第一次遇到JavaScript时,它[sic]很惊讶它有两种引号,我试图理解它,使用单个内部文本,并加倍外部.
但最终我意识到,当只需要一个时,区分不值得产生两个混乱和混乱.我决定使用double,因为这是JSON使用的,它避免了由撇号重载引起的错误.我被这个咬了.
总的来说,我正在寻找使语言更小更好的方法.引号与null和undefined属于同一类.我们真的不需要两者.
我尝试了一些自己的代码,我认为这是一个改进.最后,我可以将option.single添加到JSLint.
确实发生了这种情况:option.single在2016-06-09版本的JSLint中添加了,因此您现在可以告诉JSLint可选地忽略单引号.
在稍后的讨论中,克罗克福德更简洁地重申了他对单引号双引号的理由:
我发现人们在管理这两种报价方面遇到了一些困难.由于第二组完全没有必要,并且由于第二组[单引号]可能引入问题和混淆,我现在建议仅使用双引号.
ssu*_*ube 12
这是一个非常固执的工具的垃圾邮件警告,没有充分的理由.
旧的lint工具(JSLint和JSHint)已被ESLint完全取代,ESLint支持更多规则并允许您配置您真正感兴趣的选项.具体来说,该quotes规则允许您完全选择单引号,双引号或忽略引用.