JavaScript/TypeScript - 对象只分配可用的属性

Mar*_*oLe 3 javascript object typescript ecmascript-6

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

const objOne = {
  car: 'ford',
  location: 'Munich',
  driver: 'John'
}
Run Code Online (Sandbox Code Playgroud)

和第二个 Obj 只具有第一个 Obj 的一些属性:

const objTwo = {
  car: 'BMW',
  driver: 'Marta'
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在不丢失第一个 obj 的属性的情况下将第二个 obj 的属性分配给第一个 obj。在这种情况下location: 'Munich'。我知道事实上有一种方法,Object.assign但这种方法完全复制了目标 obj,我显然不想这样做。

bgi*_*uga 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);
Run Code Online (Sandbox Code Playgroud)