相同点:
1、undefined和null被转换为布尔值的时候,两者都为false
2、undefined==null,结果为true都表示一个空值,两者判断值相等上是一样的
不同点:
1、null表示一个空对象指针,而undefined表示一个未定义的值。
2、当我们声明一个变量但没有给它赋值时,该变量的值就是undefined。当我们想要明确地表示某个变量不包含任何值时,就可以将其设置为null。
3、如果我们使用typeof运算符检查一个null值时,返回的结果是“object”。而如果检查一个未声明的变量时,返回的结果是undefined。
4、undefined不是关键字,而null是关键字
5、undefined本质上是window的一个属性,而null是一个对象
案例:
let firval =
null
;
let secval;
console.log(firval == secval);
// 输出:true
console.log(firval === secval);
// 输出:false
console.log(firval);
// 输出:null
console.log(secval);
// 输出:undefined
console.log(
typeof
firval);
// 输出:object
console.log(
typeof
secval);
// 输出:undefined