繁体   English   中英

如何在JSHint中启用不必要的分号警告?

[英]How do I enable unnecessary semicolon warnings in JSHint?

现在,如果我有:

console.log;

我没有收到JSHint的警告。 我想开始使用不必使用分号的标准,并且希望得到JSHint的帮助。 是否有受支持的方法来启用不必要的分号警告?

请参阅: https//www.codecademy.com/blog/78

它建议我改用JSLint,但JSLint会在我不希望使用的选项卡上强制使用空格。

如果您指的是所谓的“ JavaScript标准样式”,则这不是“新标准”,除非您是指公司采用的新标准,而不是行业标准。 那只是一个人的错误个人标准。

如果有的话,ES6引入了更多省略分号的原因:

a = b
[x, y] = [1, 2]

第二行是数组解构。

这将被解析为

a = b[x, y] = [1, 2]

这当然不是您想要的。 “标准”建议使用

a = b
;[x, y] = [1, 2]

这是我见过的最丑陋的事情之一。 如果必须使用分号,为什么不将其放在其所属行的上方?

以上是ASI失败的所有著名案例的补充,包括著名的

a = b
(function foo() { }())

将被解析为

a = b(function(foo() { }())

试图将函数作为参数传递给函数b

jshint中没有您想要的选项,因为不需要它。 “不需要的分号”不是短绒毛需要的错误。

使用自定义的短毛绒来支持破坏的“标准”似乎是一个可怕的想法。 您会错过jshint和eslint等明智使用的短绒棉所进行的所有创新。 如果您的自定义短绒棉只能在一个特定的编辑器中工作,那就更是如此。 如果您团队中的某人想要使用Sublime Text,该怎么办?

我强烈建议您重新考虑不使用分号的不明智决定。 在对github JS repos的调查中,使用此方法的百分比为个位数。 在使用它的同时,还可以从制表符移动到空格。 同一项调查还表明,空间是绝大多数的惯例。

当然,以上都不是真正不必要的分号,例如

a = b;;
function foo() { };

不必要的,短绒棉通常会捡起来。

阅读所有选项后,我找不到在JSHint中启用此功能的方法。

然后,在深入了解了我真正追求的standardJS之后,他们有了自己想要的原子子弹,这正是我想要的。

https://atom.io/packages/linter-js-standard

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM