null 和undefined的区别,以及undefined和undeclared的区别

null 和undefined的区别,以及undefined和undeclared的区别

首先undefined是指声明一个变量但是没有对他初始化,则此变量为undefined。比如: let c ; //c为undefined

并且undefined永远都不会显示赋值给一个变量

null:null表示的一个空对象指针。虽然null== undefined ,但是区别就是null有显示赋值的用法,而undefined没有。他们的用途是不同的。null一般是用来给一个对象在没有值的情况下,先赋值为null。

undefined == null 返回true的原因

虽然 undefined 和 null 的语义和场景不同,但总而言之,它们都表示的是一个无效的值。 因此,在JS中对这类值访问属性时,都会得到异常的结果:

ECMAScript 规范认为,既然 null 和 undefined 的行为很相似,并且都表示 一个无效的值,那么它们所表示的内容也具有相似性,即有null == undefined返回true

undefined == null; //true
undefined === null; //false,这是因为他们的类型都是不同的,所以返回false 

undefined和undeclared的区别

undefined是声明了但是未初始化,而undeclared是指变量未声明。

var a;
typeof a; //undefined  
typeof b; //undefined  

而typeof 在处理undeclared和undefined变量时返回的都是undefined,这是因为typeof底层实现的时候加入了安全防范机制,所以typeof 来判断未声明变量时不会报错。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

veggie_a_h

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值