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

时间:2018-08-02 07:36:44

标签: javascript typescript object ecmascript-6

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

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

和第二个Obj,它仅具有第一个Obj的某些属性:

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

是否有一种方法可以分配第二个obj的属性到第一个obj,而不会丢失第一个obj的属性。在这种情况下,location: 'Munich'。我知道事实上有一种类似Object.assign的方法,但是这种方法完全复制了目标obj,我显然不想这么做。

1 个答案:

答案 0 :(得分:4)

这正是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);