Boolean类型转换

([])?true:false); //true
([]==false?true:false;//true

问题

1.([])?true:false)将[]强制转换为Boolean型,用的是Boolean([])吗?
2.[]==false也需要将[]强转为Boolean型,这里用的是[].toString()==='',然后Boolean('')===false 吗?

阅读 2.3k
1 个回答

布尔类型与其它任何类型进行比较,布尔类型将会转换为number类型
[]==false进行比较,转换规则.
false转换为0
[]与数字进行比较,[]转为数字0
所以[]==false相当于0==0

数组转换规则

[]             数字0
[9](包含一个数字元素)    转为数字
[”a”](其他数组)            NAN
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题