为什么Lodash中的isNil方法使用null而不是undefined?

时间:2017-12-14 12:09:02

标签: javascript lodash

为什么Lodash中的isNil方法使用null代替undefined

function isNil(value) {
  return value == null;
}

2 个答案:

答案 0 :(得分:5)

使用nullundefined作为null == undefined == true的逻辑方式没有任何区别,但使用null代替undefined会使文件大小减去5个字节。

只需保存几个字节,使文件更小,更快即可从服务器下载。

答案 1 :(得分:1)

要更好地理解这一点,必须注意lodash在这里使用==而不是===

采用以下示例:

console.log(null == undefined);    // true
console.log(null === undefined);   // false

通过使用==(双倍等于),lodash使用了强制类型,其中nullundefined将被强制为 fassy 值。结果,null == undefinedtrue

但是,如果使用===(等于三倍),则不会强制执行强制,这意味着类型必须相同,并且我们知道nullundefined。结果,null === undefinedfalse