==操作符的规则 - 图1

    题目 [] == ![] // -> true ,下面是这个表达式为何为 true 的步骤

    1. // [] 转成 true,然后取反变成 false
    2. [] == false
    3. // 根据第 8 条得出
    4. [] == ToNumber(false)
    5. [] == 0
    6. // 根据第 10 条得出
    7. ToPrimitive([]) == 0
    8. // [].toString() -> ''
    9. '' == 0
    10. // 根据第 6 条得出
    11. 0 == 0 // -> true