var a = {},
b = { key: "b" },
c = { key: "c" };
a[b] = 123;
a[c] = 456;
console.log(a[b]);
456
当设置对象属性时,JavaScript 会隐式地将参数值转换为字符串。在这种情况下,由于 b 和 c 都是对象,它们都会被转换为 "[object Object]"。因此,a[b] 和 a[c] 都等同于 a["[object Object]"],可以互换使用。因此,设置或引用 a[c] 与设置或引用 a[b] 完全相同。