抑制"预期'==='而是看到'=='." jslint中的错误

use*_*est 28 javascript debugging jslint

如何阻止错误消息Expected '===' and instead saw '=='.出现在jslint中.似乎不是一种选择.

bub*_*uro 27

对于使用JSHint的用户,可以通过在JSHint选项中将选项eqeqeq设置为false来关闭此警告(通常为.jshintrc)

"eqeqeq": false
Run Code Online (Sandbox Code Playgroud)

从文档:http://jshint.com/docs/options/#eqeqeq

编辑:

如果您想成为一个好公民并修改您的代码以使用建议的比较而不是关闭警告,请确保比较的两侧使用相同的类型.

例如:

"123" == 123          // true, I'm lazy and JSHint hates me
"123" === 123         // false, no love
Number("123") === 123 // true, no warning
Run Code Online (Sandbox Code Playgroud)


Jam*_*man 11

这在媒体上很热.

Douglas Crockford刚刚在JSLint工具中添加了一个'eqeq'选项.

请参阅2011年6月12日关于GitHub的编辑之一:

https://github.com/douglascrockford/JSLint/commits/2e8d430b5b9543caefb3743513181f1295f52ddf/jslint.js

广告编写时尚未在JSLint首页上更新,但我已使用以下内容对其进行了测试,并且没有得到==相关警告:

/*jslint eqeq: true*/
var x = 0;
if (x == 1) {
    alert("test");
}
Run Code Online (Sandbox Code Playgroud)


Pra*_*uru 9

虽然已经晚了,但还是能帮助到有需要的人

禁用使用 -

/* eslint eqeqeq: 0 */
Run Code Online (Sandbox Code Playgroud)

要将其作为警告使用 -

/* eslint eqeqeq: 1 */
Run Code Online (Sandbox Code Playgroud)


Mat*_*ley 4

你是对的,没有选择。唯一的方法是使用===或修改源代码。反正我几乎总是用===。一般来说,除非您知道这确实==是您想要的,否则它会更好。

  • 除非与 null 进行比较:如果“some === undefined”或“some === null”,则“some == null”返回“true”,这可能很有用。 (4认同)
  • @Raynos:为什么讨厌“==”?如果您知道自己在做什么,那么使用它就没有问题。JSLint 没有提供关闭该警告的选项,这太过于固执己见了。 (3认同)