为什么Lodash中的isNil
方法使用null
代替undefined
?
function isNil(value) {
return value == null;
}
答案 0 :(得分:5)
使用null
或undefined
作为null == undefined == true
的逻辑方式没有任何区别,但使用null
代替undefined
会使文件大小减去5个字节。
只需保存几个字节,使文件更小,更快即可从服务器下载。
答案 1 :(得分:1)
要更好地理解这一点,必须注意lodash
在这里使用==
而不是===
。
采用以下示例:
console.log(null == undefined); // true
console.log(null === undefined); // false
通过使用==
(双倍等于),lodash使用了强制类型,其中null
和undefined
将被强制为 fassy 值。结果,null == undefined
是true
。
但是,如果使用===
(等于三倍),则不会强制执行强制,这意味着类型必须相同,并且我们知道null
与undefined
。结果,null === undefined
是false
。