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

时间:2014-09-04 01:40:24

标签: javascript jshint

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

我有这行代码

if ( data == undefined || (typeof data === 'object' && data.length === 0) ) {
...

jshint正在强调第一个==并说

  

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

我添加了/* jshint eqnull:true */。我认为这是选项的作用。我甚至看到an example here(搜索eqnull)。

我错过了什么?

2 个答案:

答案 0 :(得分:6)

将此选项用于相同的

" -W041":false

答案 1 :(得分:1)

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

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

如果您希望保留较短的表达式,可以只编写data == null,这在功能上是相同的。如上所述,您需要提供/* jshint eqnull:true */选项。