JS中undefined与null的好玩 关系

今日上学中遭逢了一个有意思的难题。

var obj = undefined

 大家将二个目标设置为undefined

typeof(obj)
>>undefined

  结果是undefined,不过这一个时候我灵光一现,想起null那几个目的了

typeof(null)
>>object

  结果是object!

  本小姐手一抖,进行了双方等值相比较,更意想不到的工作出现!

obj == undefined
>> true
obj == null
>> true
obj === undefined
>>true
obj === null
>>false

  我登时的神色是如此的:

图片 1

  那无法放任治疗啊,紧接着自身又对null发轫了等值比较

null == null 
>> true
null === null
>> true
null  == undefined
>> true
null === undefined
>>false

  那么些时候本人的神采一度是这么了:

  图片 2

  作者要吃包辣条压压惊 -.-

  那么到底干什么null是个object,而undefined却是undefined呢?

  查了眨眼之间间,原来null是2个不设有的靶子的占位符,发明js大牛讨论的时候打瞌睡了,是个小失误,不过后人向来就这么沿用下来,ECMAScript也就好像此用了。

  不过又是怎么null == undefined, null!=== undefined呢?

      大家先通晓一下  == 和 === 

  对其,百度的结果是 == 是指将其转移为同品种,看值相等部卓殊。
===则不转换类型,类型差别就是不等。

  依旧文化不到家,默默吃个瓜@.@