/* ToNumber(ToPrimitive([])) == ToNumber(false) */
[] == false; // true
When [].toString() is executed it calls [].join() if it exists, or Object.prototype.toString() otherwise. This comparison is returning true because [].join() returns '' which, coerced into 0, is equal to false ToNumber.
Bew...