Undefined
类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。Null
类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
相同点:
都是原始类型的值,保存在栈中变量本地
两者的区别:
1.类型不一样:
console.log(typeOf undefined);//undefined
console.log(typeOf null);//object
2.转化为值时不一样:undefined为NaN ,null为0
console.log(Number(undefined));//NaN
console.log(Number(10+undefined));//NaN
console.log(Number(null));//0
console.log(Number(10+null));//10
3.undefined===null;//false
undefined==null;//true
何时使用:
null当使用完一个比较大的对象时,需要对其进行释放内存时,设置为null;