[] == ![] 返回true,js的隐性转换

真值假值:

布尔值为false有:false,null,undefined,+0-0,NaN,''

布尔值true:除了上面六个布尔值为false,其余全为true

1、  boolean( [ ] )        //  true    因为在js中除了false,有五个假值,【‘’   0   null   undefined   NaN】其余布尔值都是true

2、   [ ] == [ ]              // false,当两个值都是对象时,比较的是两个引用值在内存中是否同一个对象,两个空数组不是同一个对象,                                        所以是false

3、  [ ] == ![ ]             // true,要记住  ![ ]  是false,[ ]也是false, 所以两个是相等的为true

4、  [ ] == { }             // false ,和上面的2一个道理

猜你喜欢

转载自blog.csdn.net/weixin_41143293/article/details/100024622