为什么JSLint要我使用双引号而不是单引号?预计& # 39;“& # 39;而是看到了'''
Why is JSLint wanting me to use double quotes instead of single quotes? Expected '"' and instead saw '''
我最近开始看到JSLint给出以下警告:
JSLint:期望'"'而不是看到"' .
换句话说,它希望我使用双引号而不是单引号。为什么JSLint要警告我这个?单引号和双引号在JavaScript中或多或少是可以互换的,只取决于程序员的偏好吗?
2016-02-07版本的JSLint将双引号改为单引号。Douglas Crockford是JSLint的开发者,也是JavaScript和JSON的重要开发者,他提供了这样的基本原理:
当我第一次接触JavaScript时,它[原文如此]惊讶于它有两种引号,我试图弄明白它的意义,使用单引号作为内部文本,双引号作为外部文本。
但最终我意识到,这种区别不值得因为只需要一个而有两个而带来的混乱和困惑。我决定使用double,因为这是JSON使用的,它避免了由撇号重载引起的错误。我被那件事咬了。
总的来说,我在寻找使语言更小更好的方法。引号与null &属于同一类。未定义的。我们真的不需要两者。
我在自己的代码中尝试了一下,我认为这是一个改进。最后,我可能会添加选项。
这确实发生了:option.single
是在2016-06-09版本的JSLint中添加的,所以你现在可以告诉JSLint选择性地忽略单引号。
Crockford在随后的讨论中更简洁地重申了双引号优于单引号的理由:
我发现人们很难管理这两种类型的报价。由于第二组是完全不必要的,并且由于第二组[单引号]会引入问题和混淆,我现在建议只使用双引号。
这是一个非常固执己见的工具发出的垃圾邮件警告,没有很好的理由。
旧的lint工具(JSLint和JSHint)已经完全被ESLint取代,ESLint支持更多的规则,并允许你配置你真正感兴趣的选项。具体来说,quotes
规则允许您选择单引号、双引号或完全忽略引号。
- 为什么不't Javascript对我的输入值进行了一些重新检查
- jslint-vim configuration
- 为什么“;未定义的“;在JavaScript中结束循环
- 为什么这在IE中的工作方式与在Firefox中不同
- 知道为什么我的旋转木马不会自动更改图片吗
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 为什么jslint报告Unexpected'变量'
- 为什么我从 JSLint 获得从事件调用的函数的“超出范围”
- JSLint errors on 'new function(){..}'但为什么呢?如果我想要匿名关闭
- 为什么要同时使用 JSLint 和 JSHint
- 为什么jslint抱怨我的空间
- 为什么JSLint告诉我“;使用数组文字符号[]&”;
- 为什么JSLint在这个函数上给出了严格的违规错误
- 为什么jslint不喜欢Object(obj)
- 为什么JSLint返回一个Unexpected 'String'消息
- 为什么VS中的jsLint生成:A '
- 为什么JSLint禁止使用&;this&;关键字
- 为什么会.当JSON通过jslint.com测试时,getJSON失败
- 为什么JSLint要我使用双引号而不是单引号?预计& # 39;“& # 39;而是看到了'''
- 为什么JSLint不允许“;var”;在for循环中