有没有办法在JS中将一个键的值设置为与同一对象中另一个键的值相同?

Is there a way to set the value of one key as the same as the value of another key in the same object in JS?

我想知道是否有办法访问一个键的值以添加为同一对象中另一个键的值。

例如我要:

obj = {key1: 'apple', key2: 'applesauce'};

我试过了obj = {key1: 'apple', key2: this.key1 + 'sauce'}

也尝试过obj = {key1: 'apple', key2: key1 + 'sauce'}

我想要它,以便更新 key1 自动更新 key2

谢谢

您可以使用 getter。

obj = {
  key1: 'apple',
  get key2() {
    return this.key1 + 'sauce';
  }
}

console.log(obj.key2);
obj.key1 = 'awesome';
console.log(obj.key2);

基本上,不是在申报时,据我所知不是。在事物实际存在之前,您不能使用 this 引用基本上是对象文字中的对象。

您可以创建一个函数来生成该对象:

function keymaker(key) {
  return {
    key1: key,
    key2: key + 'sauce'
  }
}

obj = keymaker('apple');