JavaScript中的对象键是否可重复?重复会出现什么效果?

5 min read

在JavaScript中,对象的键不能重复。这是因为对象的键实际上是对象属性的唯一标识符,两个属性不能使用相同的标识符对应于对象的同一键。如果对象的键重复了,会出现以下情况:

  1. 后面的属性会覆盖前面相同键名的属性;
  2. 在访问对象时,如果使用重复的键名,只能访问到后面的属性。

例如:

let myObj = {
    myKey: 'Value1',
    myKey: 'Value2'
};

console.log(myObj); // {myKey: "Value2"}

在上面的例子中,myObj对象的键名为myKey重复了,第二个myKey值覆盖了第一个myKey。因此,myObj对象中只有一个键值对,键为myKey,值为Value2。

当需要存储具有相同键名的多个属性时,可以考虑使用数组或对象中对象的嵌套方式。