Lodash中的isNil
方法为什么使用null
而不是undefined
?
function isNil(value) {
return value == null;
}
Lodash中的isNil
方法为什么使用null
而不是undefined
?
function isNil(value) {
return value == null;
}
在逻辑上使用null
或undefined
没有任何区别,因为null == undefined == true
,但是使用null
而不是undefined
可以减小文件大小5个字节。
这只是为了节省一些字节,使文件更小、从服务器下载更快。
lodash
在此处使用的是==
而不是===
。console.log(null == undefined); // true
console.log(null === undefined); // false
通过使用 ==
(双等号),lodash 使用了类型转换,其中null
和undefined
会被转换为falsy值。因此,null == undefined
是true
。
然而,如果使用===
(三个等号),则不强制执行强制转换,这意味着类型必须完全相同,我们知道null
与undefined
不完全相同。因此,null === undefined
是false
。