使用解构赋值和扩展运算符(剩余参数)去除对象的不必要属性
扩展运算符的剩余参数,如果想删除对象中的某个属性,这是一个思路
可以对原对象中的字段重新赋值,以及添加一个新的字段
const obj = { name: 'xx', age: 12 } const o = { ...obj, name: 'yy', hobby: 'ss' } // 重写name,添加hobby console.log(o) // {name: 'yy', age: 12, hobby: 'ss'}
解构赋值是浅拷贝,即当obj内部属性不是引用类型时才会是深拷贝
const obj = { name: '11', person: { name: 'xx', age: 10 } } let { name, person } = obj name = '22' // name在obj中是简单类型,这里的赋值不会更改到obj中的name person.name = 'yy' // person在obj中是引用类型,这里的赋值会同步将obj中person.name更改 console.log(obj) // {name: '11', person: {name: 'yy', age: 10 }}