Spread和Rest的理解

2017-02-02  本文已影响0人  白痴才会

Spread和Rest操作符,长的一模一样,都是...。他们的区别是什么?为什么会选用同样的操作符?

// User code of Array subclass
class MyArray extends Array {
    constructor(...args) { super(...args); }
}

var arr = new MyArray();
arr[1] = 12;
arr.length == 2

通过这个简单的例子可以理解这两个操作符。

  1. 在构造函数中,通过Rest操作符将参数组合成一个args的数组;

  2. 调用super的时候,由于super的构造函数需要的是参数列表,不是数组,又通过Spread操作符扩散为参数列表;

Spead和Rest操作符存在的特殊意义是,JavaScript允许函数接受不定数目的参数。

上一篇 下一篇

猜你喜欢

热点阅读