javascript中null和undefined几乎是相等的
在if语句中,两者都会转为false,使用相等运算符比较也是相等的
console.log(null==undefined); //true 因为两者都默认转换成了false
console.log(typeof undefined); //"undefined"
console.log(typeof null); //"object"
console.log(null===undefined); //false "==="表示绝对相等,null和undefined类型是不一样的,所以输出“false”两者的区别:
null表示对象,说明该处没有值
1.作为函数的参数,说明函数的参数不是对象
2.作为对象原型链的终点
undefined表示缺少值,即该处应该有值,但没有定义
1.定义了形参,但没有传实参,此时参数显示undefined
2.对象属性不存在时,显示的是undefined
3.函数没有返回值,即没有写return,拿到的是undefined
4.函数写了return,拿到的是undefined
null和undefined转换成number数据类型
null 默认转成 0
undefined 默认转成 NaN