相同点
转成布尔类型值都是false
不同点
- 数据类型不同,typeof检验结果:null是object,undefined的值是undefined
- null代表空值,undefined表示变量声明了但是没有赋值的值
- null转成number是0,undefined转成number是NaN
- 例如变量被声明了但没有赋值,就等于undefined;函数没有返回值默认返回undefined;对象没有赋值的属性,该属性的值为undefined
- null作为对象原型链的终点
但是有一点需要注意的是 弱相等的情况下 null == undefined 结果是true,原因是两者都换成了Boolean型