双等
隐式转换
[ ] == false结果为true。根据 JavaScript 的类型转换规则,空数组[]在进行比较时会被转换为一个空字符串"",而布尔值false会被转换为数字0。因此,比较的实际表达式为"" == 0,而空字符串""在被转换为数字时会变为0,所以最终结果为true。[ ] == 0结果为true。根据 JavaScript 的类型转换规则,空数组[]在进行比较时会被转换为一个空字符串"",而数字0不需要进行类型转换。因此,比较的实际表达式为"" == 0,而空字符串""在被转换为数字时会变为0,所以最终结果为true。![ ] == false结果为true。一元逻辑非运算符!会将操作数转换为布尔值,并取其相反值。在 JavaScript 中,空数组[]被视为真值,所以![ ]的结果为false。而布尔值false不需要进行类型转换。因此,比较的实际表达式为false == false,所以最终结果为true。null == 0结果为false。在 JavaScript 中,null与除了undefined之外的任何值进行相等比较时都会返回false。因此,null == 0的结果为false。Number('abc') == Number('aaa')结果为 false- '[object Object]' == {},当将对象转换为字符串时,会调用对象的
toString()方法。对于空对象{},toString()方法返回的是"[object Object]"。
xxxsjan Docs