JavaScript/TypeScript - 只复制存在的属性的对象赋值

3
以下是需要翻译的内容:

假设我有一个具有以下属性的对象:

const objOne = {
  car: 'ford',
  location: 'Munich',
  driver: 'John'
}

还有第二个对象,只包含第一个对象的部分属性:

const objTwo = {
  car: 'BMW',
  driver: 'Marta'
}

有没有一种方法可以将第二个对象的属性分配给第一个对象,而不会丢失第一个对象的属性。在这种情况下 location: 'Munich'。我知道确实有一种像 Object.assign 的方法,但这种方法会完全复制目标对象,显然我不想要这种方法。

1
期望的输出是什么? - Hassan Imam
2
事实上,这就是Object.assign将要做的。 - Hyyan Abo Fakher
1个回答

6
这正是Object.assign的行为。

Object.assign() 方法用于将一个或多个源对象的所有可枚举属性值复制到目标对象中。它会返回目标对象。

const objOne = {
  car: 'ford',
  location: 'Munich',
  driver: 'John'
}
        
const  objTwo = {
  car: 'BMW',
  driver: 'Marta'
}

console.log(objOne);
console.log(objTwo);

Object.assign(objOne, objTwo);
console.log('--assign--');
console.log(objOne);


哦,我搞砸了,感谢您的澄清。我真的以为第一个对象会被第二个完全覆盖.... - MarcoLe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接