jshint,eqnull,使用'==='与'undefined'进行比较

Sam*_*off 5 javascript jshint

我提前道歉,显然我完全无法理解如何配置jshint.

我有这行代码

if ( data == undefined || (typeof data === 'object' && data.length === 0) ) {
...
Run Code Online (Sandbox Code Playgroud)

jshint强调了第一个==并且说

使用'==='与'undefined'进行比较.

我补充道/* jshint eqnull:true */.我认为这是选项的作用.我甚至在这里看到一个例子(搜索eqnull).

我错过了什么?

小智 6

使用此选项也是如此

"-W041":假


小智 2

在 Javascript 中,undefinednull是两个不同的值。直接将其他值与 进行比较undefined是有问题的,因为null == undefined,但是typeof null != typeof undefined

从上面的评论来看,您似乎明确想要检查nullundefined值,在这种情况下您可以编写(data === undefined || data === null).

如果您希望保持更短的表达式,您可以直接编写data == null,它在功能上是相同的。正如您上面提到的,您需要提供该/* jshint eqnull:true */选项。