ES6之展开运算符/扩展运算符(...)的应用,还可以作为剩余参数语法

扩展运算符(…)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中

列如:

const obj = {
    name: 'tom',
    age: 22,
    gender: '小哥哥'
}
  • … 展开运算符/扩展运算符, 把一个已经成型的对象给解开
 ...obj =>   name: 'tom',
             age: 22,
             gender: '小哥哥'
  • 使用 …展开运算符可以给另一个对象赋值
const obj2 = {...obj,hobby:'篮球'}
console.log(obj2);  // { name: 'tom', age: 22, gender: '小哥哥', hobby: '篮球' }

如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性会覆盖前面的属性

const obj2 = {...obj,gender:'小姐姐'}
console.log(obj2);  // { name: 'tom', age: 22, gender: '小姐姐' }

除此之外:… 还有一个应用:可以作为剩余参数语法, 把一堆数据组合成一个对象

  • 需求:如果我们希望拿到这个对象里面除了 gender 以外的所有数据
const {gender, ...data} = obj
console.log(data);  // { name: 'tom', age: 22 }

具体详解:可以参考阮一峰的:ECMAScript 6 入门

  • https://es6.ruanyifeng.com/?search=map&x=0&y=0#docs/array

版权声明:本文为weixin_47700309原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。