Was just doing some testing and I find this odd:
[] == false
Gives true, this makes sense because double equal only compares contents and not t
from the ECMA-262 5.1 (page 83):
If ToBoolean(lval) is true, return lval
[] || false; // []