2016-08-30 84 views

回答

21

JSLint的2016-02-07 version更改为双引号优于单引号。 Douglas Crockford,JSLint的的开发者和有影响力的开发商JavaScript和JSON,provided this rationale

当我第一次见到的JavaScript,它(原文如此)感到惊讶的是它有两种报价,我想它的意义,单个用于内部文本,双倍用于外部。

但是,最终我意识到,区分不值得有两个来自于只有一个需要时的混乱和混乱。我决定使用double,因为这是JSON使用的,它避免了由于撇号超载而导致的错误。我被这一点咬了。

总的来说,我正在寻找让语言变得更小更好的方法。行情与空行相同&未定义。我们确实不需要两者。

我尝试了一些我自己的代码,我认为这是一种改进。最后,我可以添加option.single到JSLint。

这确实发生了:option.single在JSLint的的2016-06-09 version加入,所以你现在可以告诉JSLint的有选择地忽略单引号。

克罗克福德更简洁地重申了超过单引号双引号理由在a later discussion

我发现,人们有一些难以管理两种类型的引号。由于第二组是完全不必要的,并且由于第二组[单引号]可能引入问题和混淆,所以现在我建议仅使用双引号。

+3

你知道克罗克福德引用的单引号有什么问题吗? –

+2

@DustinHodges我看到有人问他在第一个引号中“超载撇号”的评论,他举了'alert('不要试试这个!');'的例子。我认为他的意思是撇号用于正确拼写英文单词和JavaScript中的语法标记。到目前为止,我还没有发现任何他可能暗指的其他问题。 – Thunderforge

+0

谢谢这就是我想的,但希望有其他的东西。如果您需要在字符串文本中使用双引号,则会遇到同样的问题:例如,警报(“克劳福德说,”我现在只推荐使用双引号。“);. –

6

这是一个来自非常有见地的工具的垃圾邮件警告,没有很好的理由。

老皮棉工具(JSLint的和JSHint)已通过ESLint,它支持更多的规则,并允许您配置你真正感兴趣的选项被完全取代。具体来说,quotes rule允许您选择单人,双人,或完全忽略引用。

+6

这实际上并没有回答为什么* JSLint *会抛出此警告的问题。 – Thunderforge

+4

@Thunderforge它确实:“这是来自非常有见地的工具的垃圾邮件警告。”没有什么好的理由,它完全是一个非常古老的工具和它的作者的偏好。 – ssube

+3

@Thunderforge:你的回答引用Crock(福特)的话说:“......我决定去加倍,因为这是JSON使用的东西,它避免了由于撇号超载而导致的错误。”*我认为这正好支持了sube断言*“这是一个来自非常有见地的工具的垃圾邮件警告,没有什么好的理由。”* – 2016-08-30 20:22:17

相关问题