! [ ] == ! [ ] 和 ! [ ] == [ ] 结果是什么? 为什么?

简介: ! [ ] == ! [ ] 和 ! [ ] == [ ] 结果是什么? 为什么?

结果两个 都是true


1. ![] == ![]  


首先是!的优先级要比 == 高         所以 先执行两边的 ![] 然后单个的[]是true 加上!取反 也就是false了

  然后 第一个 ![] == ![] 也就是等于 false == false 最后返回的是true  


2. ![] == []


然后后边的![] == [] 也是因为!优先级高 所以先把左边的变成false == []

然后又因为 两个值相比较 如果有一方的值是布尔值的话 就会把另一方转成数值

然后 [] 转成数值的话 就是 0  然后因为0 = false 所以最后 也是false == false  最后也返回一个true

相关文章
|
7月前
|
JavaScript 前端开发 安全
== 和 ===什么区别呀?
== 和 ===什么区别呀?
124 0
|
JavaScript 前端开发
== 和 ===区别,分别在什么情况使用
== 和 ===区别,分别在什么情况使用
82 1
|
Java
==和equals()
==和equals()
87 0
equals和 == 的区别
equals和 == 的区别
83 0
|
存储
什么时候 a == 1 && a == 2 && a == 3 为 true?
什么时候 a == 1 && a == 2 && a == 3 为 true?
137 0
什么时候 a == 1 && a == 2 && a == 3 为 true?
|
JavaScript
js 如何if( a== 1 && a == 2 && a==3)
js 如何if( a== 1 && a == 2 && a==3)
147 0
a==b,b==c都为true,那a==c一定为true吗???
a==b,b==c都为true,那a==c一定为true吗???
a==b,b==c都为true,那a==c一定为true吗???