我们再来回顾下文首提出的
- [] == ![]
这个比较运算,首先
- []
为对象,则调用 ToPrimitive 函数将其转化为字符串
- ""
;对于右侧的
- ![]
,首先会进行显式类型转换,将其转化为 false。然后在比较运算中,会将运算符两侧的运算对象都转化为数值类型,即都转化为了 0,因此最终的比较结果为 true。在上文中还介绍了
- null >= 0
为 true 的这种比较结果,在 ECMAScript 中还规定,如果
- <
为 false,则
- >=
为 true。
来源: http://www.tuicool.com/articles/aE3U3aF