使用解构赋值和扩展运算符(剩余参数)去除对象的不必要属性

扩展运算符的剩余参数,如果想删除对象中的某个属性,这是一个思路

 

 

可以对原对象中的字段重新赋值,以及添加一个新的字段

      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 }}

 

posted @ 2021-08-05 17:11  吴小明-  阅读(962)  评论(0编辑  收藏  举报