null和undefined的区别

一、定义上

undefined 表示已经声明但是未赋值的变量,是javascript自动分配的默认值。

let x; // x 未赋值
console.log(x);// 输出 undefined

null 表示一个明确的“空值”和"无对象",通常需要开发者手动赋值。

let y = null; // y 被赋值为 null
console.log(y); // 输出 y

二、类型上

undefined 是undefined类型的

console.log(typeof undefined); 

null 是object类型

console.log(typeof null); //输出 object

三、使用场景上

undefined 通常表示变量未初始化,或者函数无返回值

let a; //未初始化
console.log(a); //undefined

function test () {}  //
console.log(test());  //undefined

null 表示“空”或“无值”

let b = null; // 明确赋值为空
console.log(b); // null

四、比较上

使用 == 时,undefined 和 null 是相等的

console.log(null == undefined); // true

使用 === 时,undefined 和 null不相等 ,因为它们类型不同

console.log(null === undefined); // false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值