对象和数组的添加

Hil*_*lmi 19 javascript

任何人都可以向我解释如何评估以下结果?

{} + {} // NaN
[] + {} // "[object Object]"
{} + [] // 0
[] + [] // ""
Run Code Online (Sandbox Code Playgroud)

xda*_*azz 17

以下是对此的完整说明,请查看.

并注意 {} + {}NaN,如果你是因为直接在控制台执行它{}被认为是一个块,而不是一个对象.

({}+{}) 应该 '[object Object][object Object]'

真正的结果是:

console.log({}+{}) // '[object Object][object Object]'
console.log([]+{}) // '[object Object]'
console.log({}+[]) // '[object Object]'
console.log([]+[]) // ''
Run Code Online (Sandbox Code Playgroud)