Console.log([]==![])

返回值是: true;

![]==>空数组是对象  , 逻辑非会返回一个布尔值。逻辑非操作符首先会将它的操作数转换为一个布尔值,然后再对其求反

         1. 如果操作数是一个对象,返回false

         2. 如果操作数是一个空字符串,返回true

         3. 如果操作数是一个非空字符串,返回false

         4. 如果操作数是数值0,返回true

         5. 如果操作数是任意非0数值(包括infinity),返回false

         6. 如果操作数是null,返回true

         7. 如果操作数是Na返回true

         8. 如果操作数是undefined,返回true

        

==   如果两个操作数相等,返回true (先转换操作数再比较它们的相等性)

         1. 如果一个操作数是布尔值,则在比较相等性之前先将其转换为数值--false转换成0   true转换成1

         2. 如果一个操作数是字符串,另一个操作数是数值,在比较相等性之前先将字符串转化成数值

         3. 如果一个操作数是对象,另一个操作数不是,则调用对象的valueOf()方法,用的到的基本类型值按照前面的规则进行比较

空对象  ==!空对象(空对象也是对象)

空对象  ==  布尔值(flase)

0             ==    0

true

生命是一场华丽的绽放!
原文地址:https://www.cnblogs.com/clown3/p/5870167.html