可以用对象作为另一个对象的key吗

我觉得是不可以的

例如:

const a = {}
const b = { key: 'b' }
const c = { key: 'c' }

a[b] = 123
a[c] = 456

console.log(a[b])   //456

因为用对象作为key时,先会被隐式转换为字符串,其值为[object Object]。所以a[b]其实是a.[object Object],然后c也是对象,转换后key值一样,其实导致了重写,值变为456。如果都被转换成

[object Object],那这个操作没什么意义了。

posted @ 2022-08-27 15:03  B1NGO  阅读(87)  评论(0编辑  收藏  举报