关于 obj == null

关于 obj == null

https://img1.sycdn.imooc.com//climg/61ae07af0905ab2609581104.jpg

这里严谨来说是不是应该使用 === 符?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕然然 2021-12-07 09:53:10

同学你好,这里应该使用双等号,obj == null 其实相当于 obj === null || obj === undefined,所以使用==号,既判断了obj是否为null,又判断了obj是否为undefined。

关于这点同学记住即可:除了 == null 之外, 其他都一律用===。

祝学习愉快!

  • 提问者 Liiiu #1

    但是前面的 typeof !== "object"  不是已经过滤掉 undefined 的情况了吗? 如果传入的是 undefined 那么 应该已经命中 typeof !== "object" ,|| 号前条件为 true ,不会运行后面的语句了啊,所以说 走到后面只能有,null,array,object 3 种情况, 此时使用 === null 是不是更加严谨?

    2021-12-07 10:01:25
  • 好帮手慕然然 回复 提问者 Liiiu #2

    按照同学的说法,确实是这样的,前面的 typeof !== "object" 会过滤掉undefined,后面只需判断是否为null即可,使用===判断的话足够。但其实使用==更保险一点,虽然有点多余,同学可以不用太纠结这个问题,这里使用==或===都不会影响代码运行的结果,只要知道obj==null与obj===null的区别就可以了。

    2021-12-07 11:42:07
  • 老师,这里看不懂。obj == null 其实相当于 obj === null || obj === undefined

    能详细讲一下为什么吗?

    ==只比较值是否相等,null隐式转换成数字0,不是相当于 obj==0     吗?后面这一大堆又怎么理解

    搜索

    复制

    2022-07-01 03:09:07
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师