qq_执念妳_0
2018-03-31 21:20
[] == [] // false
[] == ![] // true
[] == false // true
看了网上的答案,我说一下我的理解:
1). []==[] 两个值都是对象时, 比较的是两个引用值在内存中是否是同一个对象.所以是false
2).[]==![] 因为! 优先级比==高,所以我们先看 ![] , !是转变成布尔值,js中[]布尔值是true,所以![]为false,现在到判断==, 现在变成判断[]==false. 这时候[]不会变成布尔值,即true,会按照js标准 []看成0.于是最终转变为0==false,答案就出来了true.
3).看第二个后面
如果还是不懂就百度一下吧
JavaScript深入浅出
281111 学习 · 1020 问题
相似问题