
182
|
第
7
章
7.6
合并两个对象的属性
7.6.1
问题
有两个带属性的简单对象,你想把数据合并到一个对象中。
7.6.2
方案
使用展开运算符(
...
)展开两个对象,把结果赋值给一个新对象。
const
address = {
country: 'Australia', city: 'Sydney', streetNum: '412',
streetName: 'Worcestire Blvd'
};
const
customer = {
firstName: 'Lisa', lastName: 'Stanecki'
};
const
customerWithAddress = {...customer, ...address};
console.log(customerWithAddress);
// customerWithAddress
现在包含六个属性
7.6.3
讨论
合并两个对象看似一项简单的操作,但是其中潜藏着问题。如果两个对象中有同名
属性,第二个对象(前例中的
address
)中的属性将覆盖第一个对象中的属性,悄
无声息。下面在前例的基础上修改,演示这个问题。
const
address = {
country
: 'Australia', city: 'Sydney', streetNum: '412',
streetName: 'Worcestire Blvd'
};
const
customer = {
firstName: 'Lisa', lastName: 'Stanecki',