ES6的...rest-spread(剩余拓展)运算符


…这是ES6新增的剩余/拓展运算符

官方名字叫rest-spread(剩余/拓展)。

##定义

…rest:将所有剩余的参数(其余的参数)收集到一个数组中

…spread:将迭代器张开为一个或多个参数

注意:

rest必须是唯一参数或是最后一个参数,不可以是第一个

spread可以在任何位置使用

拓展

用于数组合并

ECMAScript 提案(第 3 阶段)的剩余/扩展属性将扩展添加到对象属性面量。将自己的对象属性的枚举复制到一个新的对象上。

使用比Object.assign()更短的语法,可以轻松简单(不包括原型)或组合对象。

var obj1 = { foo: 'bar', x: 42 };
var obj2 = { foo: 'baz', y: 13 };

var clonedObj = { ...obj1 };
// Object { foo: "bar", x: 42 }

var mergedObj = { ...obj1, ...obj2 };
// Object { foo: "baz", x: 42, y: 13 }

剩余

用于解构

let obj1 = {foo: 'bar', x: 42};
let {...a,x} = obj1;
//报错

多个参数时,不能放在第一位

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Spread_syntax

https://juejin.cn/post/6844903487638093831


文章作者: iamfugui
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 iamfugui !
评论
  目录