1、对比数据类型:
null和undefined都是JavaScript中的特殊值,属于原始值的子类型。
null是一个表示空值或者不存在的对象,是一个赋值的关键词,其类型是Object。
undefined表示一个未初始化的变量或者对象属性,其类型是Undefined。
2、在对象属性中的应用:
当对象属性不存在时,访问该属性会返回undefined。
如果有意将属性的值设置为空,可以将其赋值为null
3、赋值和默认值:
null通常是程序员赋予变量的值,用于指示该变量没有引用任何对象或值。
undefined通常是JavaScript引擎赋予变量的默认值,表示变量声明但未被初始化。
4、比较运算符:
使用全等运算符(==)时,null == undefined的结果为true,因为它们在数值上相等。
使用全等运算符(===)时,null === undefined的结果为false,因为它们在类型上不相等。
举例说明:
1、首先是数据类型不一样
console.log(typeof null) //object
console.log(typeof undefined) //undefined
2、 null代表“空”,代表空指针;undefined是定义了没有赋值
var aa;
console.log(aa);//undefined
var bb=null;
console.log(bb);//null
3、转化成数字不同
console.log(Number(null)) //0
console.log(Number(undefined)) //NaN
console.log(Number(11+null)) //11
console.log(Number(11+undefined)) //NaN
4、null和undefined两者相等,但是当两者做全等比较时,两者又不等。(因为他们的数据类型不一样)
console.log(null==undefined) //ture
console.log(null===undefined) //false
网友评论