如果只有字符串和数字或布尔值,则Javascript添加操作很容易理解。
但是对象和数组越来越难。
我查看了规范ECMA Script 3, 1999 11.6.1并进入道格拉斯·克罗克福德Enciclopedia,但两者提供的算法都没有解释原因:
[] + {} // "[object Object]"
{} + [] // 0
{} + 0 // 0
0 + {} // "0[object Object]"
{} + {} // NaN, but not either 0 or "[object Object][object Object]"
有人可以解释一下吗?