转化为布尔值的规则

小鱼儿 2023-01-13 09:34 207阅读 0赞

对于基本类型的数据:

null和undefined直接转化为false
字符串:空字符串转化为false,其他全为true
数字:0和NaN转化为false,其他全为true
对于引用类型数据:

全为true

所以 [] == ![]的结果是true
分析:

== 中,左右两边都需要转换为数字然后进行比较。
[]转换为数字为0。
![] 首先是转换为布尔值,由于[]作为一个引用类型转换为布尔值为true,
因此![]为false,进而在转换成数字,变为0。

0 == 0 , 结果为true

发表评论

表情:
评论列表 (有 0 条评论,207人围观)

还没有评论,来说两句吧...

相关阅读

    相关 关于Java布尔

    >   摘自《Java核心技术 卷I》P36.C++注释   在C++中,数值甚至指针都可以代替布尔值。值 0 相当于布尔值false,非 0 值相当于布尔值true。