如何在 JSHint 中启用不必要的分号警告?
How do I enable unnecessary semicolon warnings in JSHint?
现在如果我有:
console.log;
我没有收到来自 JSHint 的警告。我想开始使用不必要地不使用分号的标准,我很感激 JSHint 的一点帮助。是否有支持的方法来启用对不必要的分号使用的警告?
参见:https://www.codecademy.com/blog/78
它建议我改用 JSLint,但 JSLint 强制在制表符上加空格,我不想使用它。
如果您指的是 so-called "JavaScript Standard Style",那不是 "new standard",除非您指的是贵公司采用的新标准,而不是行业标准。那只是一个人被误导的个人标准。
如果有的话,ES6 引入了更多 个不省略分号的理由:
a = b
[x, y] = [1, 2]
其中第二行是数组解构。
这将被解析为
a = b[x, y] = [1, 2]
这肯定不是你想要的。 "standard" 建议使用
a = b
;[x, y] = [1, 2]
这是我见过的最丑陋的东西之一。如果一定要加分号,为什么不把分号放在分号的上一行呢?
以上是所有well-known ASI失败案例的补充,包括著名的
a = b
(function foo() { }())
将被解析为
a = b(function(foo() { }())
尝试将函数作为参数传递给函数 b
。
jshint里面没有你想要的选项,因为不需要。 "Unneeded semicolon" 不是需要 linter 发现的错误。
使用自定义 linter 来支持损坏的 "standard" 似乎是个糟糕的主意。您会错过 wisely-used linters 中的所有创新,例如 jshint 和 eslint。如果您的自定义 linter 仅在一个特定的编辑器中工作,则更是如此。如果您的团队中有人想使用 Sublime Text 怎么办?
我强烈建议重新考虑您的 ill-advised 不使用分号的决定。在 github JS 存储库的调查中,使用这种方法的百分比在 single-digits 中。当您使用它时,您还可以从制表符移动到空格;同一项调查还表明,空间是绝大多数常见的做法。
当然上面的none是指确实不需要的分号,比如
a = b;;
function foo() { };
其中 是不必要的,通常会使用 linter。
阅读所有选项后,我找不到在 JSHint 中启用此功能的方法。
然后,在阅读了更多我真正想要的 standardJS 之后,他们有自己的 atom linter,这正是我正在寻找的。
现在如果我有:
console.log;
我没有收到来自 JSHint 的警告。我想开始使用不必要地不使用分号的标准,我很感激 JSHint 的一点帮助。是否有支持的方法来启用对不必要的分号使用的警告?
参见:https://www.codecademy.com/blog/78
它建议我改用 JSLint,但 JSLint 强制在制表符上加空格,我不想使用它。
如果您指的是 so-called "JavaScript Standard Style",那不是 "new standard",除非您指的是贵公司采用的新标准,而不是行业标准。那只是一个人被误导的个人标准。
如果有的话,ES6 引入了更多 个不省略分号的理由:
a = b
[x, y] = [1, 2]
其中第二行是数组解构。
这将被解析为
a = b[x, y] = [1, 2]
这肯定不是你想要的。 "standard" 建议使用
a = b
;[x, y] = [1, 2]
这是我见过的最丑陋的东西之一。如果一定要加分号,为什么不把分号放在分号的上一行呢?
以上是所有well-known ASI失败案例的补充,包括著名的
a = b
(function foo() { }())
将被解析为
a = b(function(foo() { }())
尝试将函数作为参数传递给函数 b
。
jshint里面没有你想要的选项,因为不需要。 "Unneeded semicolon" 不是需要 linter 发现的错误。
使用自定义 linter 来支持损坏的 "standard" 似乎是个糟糕的主意。您会错过 wisely-used linters 中的所有创新,例如 jshint 和 eslint。如果您的自定义 linter 仅在一个特定的编辑器中工作,则更是如此。如果您的团队中有人想使用 Sublime Text 怎么办?
我强烈建议重新考虑您的 ill-advised 不使用分号的决定。在 github JS 存储库的调查中,使用这种方法的百分比在 single-digits 中。当您使用它时,您还可以从制表符移动到空格;同一项调查还表明,空间是绝大多数常见的做法。
当然上面的none是指确实不需要的分号,比如
a = b;;
function foo() { };
其中 是不必要的,通常会使用 linter。
阅读所有选项后,我找不到在 JSHint 中启用此功能的方法。
然后,在阅读了更多我真正想要的 standardJS 之后,他们有自己的 atom linter,这正是我正在寻找的。