空配列の真偽値へのキャストとBoolean
==を使う時はてっきり、Booleanで真偽値にキャストされると思ってたのだけど、違うみたい。
var empty = []; empty == empty; // true new Boolean(empty); // new Boolean(true) Boolean(empty); // true !!empty; // true empty == true; // false Boolean(empty) === Boolean(empty); // true Boolean(empty) == empty; // false。==はBooleanとは別の規則で比較してる?