面试题 == 比较运算符对问题。

时间:2019-06-18 19:41:13   收藏:0   阅读:110
  

tyoeof Date ?undefined == false ?10 * ‘2a‘ ?[] == ![] ?[] == []

  

结果:

function

false

NaN

true

false

 

 

 

 

 

 

技术图片

 

在转数字的过程中。基本数据类型,可以直接理解成使用Number转的.

对象类型,应该理解成 Number(obj.toString())

转换失败,catch住,就是false.

 

技术图片

 

技术图片

 

有valueOf的时候,优先使用valueOf

没有valueOf的时候,使用toString

 

 

 

 

 

如果等号对一端是 布尔值 或 number类型。就要对等号两边对数值都转换成number。
Number(false) === 0

Number(true) === 1

Number(null) === 0

Number(undefined) === NaN

 

但是有个例外: null == undefined

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!