1、如果对象有两个具有相同名称的键,则将替换前面的键。它仍将处于第一个位置,但具有最后指定的值。
const obj={a:'张三',b:'李四',a:'老六'}
console.log(obj)
其结果为{a:'老六',b:'李四'} 可以看到键a仍然在第一位,但是值为最后指定的值
2、如果一个对象的键也为一个对象,那么键会自动转换成字符串
const a={}
const b={key:'b'}
const c={key:'c'}
a[b]=123
a[c]=456
console.log(a[b])
打印结果为456,为什么呢? 因为对象键会自动转换为字符串。 上述场景中a[b]=123等同于a["Object Object"]=123 a[c]=456同理 因此a[b]和a[c]实际上是同一个对象的同一个键所对应的值,所以为456