空陣列
/* ToNumber(ToPrimitive([])) == ToNumber(false) */
[] == false; // true
執行 [].toString()
時,如果存在則呼叫 [].join()
,否則呼叫 Object.prototype.toString()
。這個比較是返回 true
因為 [].join()
返回''
,強制進入 0
,等於 false ToNumber 。
請注意,所有物件都是真實的,而 Array
是 Object
的一個例項:
// Internally this is evaluated as ToBoolean([]) === true ? 'truthy' : 'falsy'
[] ? 'truthy' : 'falsy'; // 'truthy'