假如我们需要对比x和y是否相同,就会进行如下判断流程:
- 首先会判断两者类型是否相同。相同的话就是比大小了
- 类型不相同的话,那么就会进行类型转换
- 会先判断是否在对比null和undefined,是的话就会返回true
- 判断两者类型是否为string和number,是的话就会将字符串转换为number
[]表示空数组,转为数字为0, ![]表示boolean类型,[]属于引用类型,转为boolean表示TRUE,!TRUE为FALSE,
故
[] == ![] => 0 == false //true
复制代码