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

查看:90
本文介绍了javascript - 【快速判断数组为空】[]==false 为什么返回true?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

console.log([]==false); //输出为true

console.log(['1']==false);//输出为false

可见,这可以很快速判断数组是否为空,但是原理上有些疑惑。
已知:

1.相等操作符"==":先转换再比较。 如果有一个操作数是布尔值,则在比较相等性之前将其转换为数值false转换为0,true转换为1。

2.如果一个操作数是对象,另一个操作数不是,则调用对象的valueOf()方法,用得到的基本类型值进行转换。

所以[]==fasle的右边会被转换成0。那左边呢?是怎样转换的呢?

解决方案

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

这篇关于javascript - 【快速判断数组为空】[]==false 为什么返回true?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆