null和undefined区别

96 阅读1分钟

相同点

转成布尔类型值都是false

不同点

  1. 数据类型不同,typeof检验结果:null是object,undefined的值是undefined
  2. null代表空值,undefined表示变量声明了但是没有赋值的值
  3. null转成number是0,undefined转成number是NaN
  4. 例如变量被声明了但没有赋值,就等于undefined;函数没有返回值默认返回undefined;对象没有赋值的属性,该属性的值为undefined
  5. null作为对象原型链的终点

但是有一点需要注意的是 弱相等的情况下 null == undefined 结果是true,原因是两者都换成了Boolean型