为了账号安全,请及时绑定邮箱和手机立即绑定

【快速判断数组为空】[]==false 为什么返回true?

【快速判断数组为空】[]==false 为什么返回true?

万千封印 2018-11-09 15:15:04
console.log([]==false); //输出为trueconsole.log(['1']==false);//输出为false可见,这可以很快速判断数组是否为空,但是原理上有些疑惑。已知:1.相等操作符"==":先转换再比较。 如果有一个操作数是布尔值,则在比较相等性之前将其转换为数值false转换为0,true转换为1。2.如果一个操作数是对象,另一个操作数不是,则调用对象的valueOf()方法,用得到的基本类型值进行转换。所以[]==fasle的右边会被转换成0。那左边呢?是怎样转换的呢?
查看完整描述

1 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

这个送给你,javascript 的对比表格:Relational and Equality Operators

https://img1.sycdn.imooc.com//5c174be80001b9be09170733.jpg

查看完整回答
反对 回复 2018-12-17
  • 1 回答
  • 0 关注
  • 727 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信