我们在代码里面定义了一个对象用来渲染,这时候请求后端数据,给我返回了一个新对象,新对象字段很多,但我们目前只需要两个。
//我们自己定义的对象
let renderObj = {
name: 'wang',
age: 22
};
//后台返回的对象
let responseObj = {
name: 'li',
age: 33,
sex: '女'
};
//将请求到的数据赋值给我们定义的对象
//bad
renderObj = responseObj
or
Object.assign(renderObj,responseObj)
实际上我们根本用不了那么多字段,浪费了
//如果这样写,又太多了,写的累的慌
renderObj.name = responseObj.name
renderObj.age = responseObj.age
//省点力气可以这样写
({name: renderObj.name, age: renderObj.age} = responseObj);
这是利用了es6的解构赋值,键name和age为模式,对应responseObj里面的属性,意思是把responseObj里面的
name和age赋值给了renderObj里面的name和age。
//如果想要再赋值一个renderObj里面不存在的属性,还可以这样加
({name: renderObj.name, age: renderObj.age,sex: renderObj.sex} = responseObj);
这样就可以把responseObj里面的sex也赋值给renderObj了。