Javascript jshint,eqnull,使用'===';与';未定义';
我提前道歉,我显然完全无法理解如何配置jshint 我有这行代码Javascript jshint,eqnull,使用'===';与';未定义';,javascript,jshint,Javascript,Jshint,我提前道歉,我显然完全无法理解如何配置jshint 我有这行代码 if ( data == undefined || (typeof data === 'object' && data.length === 0) ) { ... jshint在第一个==下面划线,并说 使用“==”与“未定义”进行比较 我添加了/*jshint eqnull:true*/。我想这就是选项的作用。我甚至看到了(搜索eqnull) 我缺少什么?在Javascript中,未定义和空值是两个不同的值。直
if ( data == undefined || (typeof data === 'object' && data.length === 0) ) {
...
jshint在第一个==
下面划线,并说
使用“==”与“未定义”进行比较
我添加了/*jshint eqnull:true*/
。我想这就是选项的作用。我甚至看到了(搜索eqnull)
我缺少什么?在Javascript中,
未定义和空值是两个不同的值。直接将其他值与undefined
进行比较是有问题的,因为null==undefined
,但是typeof null!=未定义的类型
从上面的评论来看,您似乎明确希望检查null
和undefined
值,在这种情况下,您可以编写(data==undefined | | data==null)
如果您希望保留较短的表达式,可以只编写功能相同的data==null
。如上所述,您需要提供/*jshint eqnull:true*/
选项。使用此选项进行同样的操作
“-W041”:falseeqnull
禁止有关与null
进行比较的警告,而不是未定义的。是否可以禁止有关未定义的的警告?我在文档中没有看到任何提及此类内容。如果您使用“typeof data=='undefined'”而不是“data==undefined”,不会显示任何警告消息。当没有显示警告时,您不需要取消显示警告。我想使用==undefined
强制null为undefinedtypeof null
是对象。