首先,…也就是扩展运算符的实现是因为对象或数组的[symbol.iterator]这个接口实现的 然后这个接口的封装是由于iterator内有个next()函数,封装next()方法则是通过this,获取到数组的长度,用if和else输出而跟这个值(value)一起的还有个done,当done输出为假时,代表值未输出完,反之亦然,具体代码如下图