我提前道歉,显然我完全无法理解如何配置jshint。
我有这行代码
if ( data == undefined || (typeof data === 'object' && data.length === 0) ) {
...
jshint正在强调第一个==
并说
使用' ==='与' undefined'进行比较。
我添加了/* jshint eqnull:true */
。我认为这是选项的作用。我甚至看到an example here(搜索eqnull)。
我错过了什么?
答案 0 :(得分:6)
将此选项用于相同的
" -W041":false
答案 1 :(得分:1)
在Javascript中,undefined
和null
是两个不同的值。直接将其他值与undefined
进行比较是有问题的,因为null == undefined
,但typeof null != typeof undefined
。
从上面的评论中,您似乎明确要检查null
和undefined
值,在这种情况下,您可以编写(data === undefined || data === null)
。
如果您希望保留较短的表达式,可以只编写data == null
,这在功能上是相同的。如上所述,您需要提供/* jshint eqnull:true */
选项。