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

moh*_*haq 12 javascript lodash

为什么isNilLodash 中的方法使用null而不是undefined

function isNil(value) {
  return value == null;
}
Run Code Online (Sandbox Code Playgroud)

lux*_*lux 12

为了更好地理解这一点,重要的是要注意lodash使用==here 而不是===.

以下面的例子为例:

console.log(null == undefined);    // true
console.log(null === undefined);   // false
Run Code Online (Sandbox Code Playgroud)

通过使用==(double equals),lodash 正在利用类型强制,其中nullundefined将被强制为值。结果,null == undefinedtrue

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


Geo*_*rge 8

无论是使用null还是undefinedas 的逻辑,这两种方式都没有区别null == undefined == true,但是使用null代替undefined会使文件大小减小5个字节。

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

  • 这也可能很有用:/sf/ask/355386111/ (3认同)