(1)解构赋值
对数组和 Set 结构进行解构赋值时,会默认调用方法。
扩展运算符(…)也会调用默认的 Iterator 接口。
上面代码的扩展运算符内部就调用 Iterator 接口。
(3)yield*
后面跟的是一个可遍历的结构,它会调用该结构的遍历器接口。
由于数组的遍历会调用遍历器接口,所以任何接受数组作为参数的场合,其实都调用了遍历器接口。下面是一些例子。
- for…of
- Map(), Set(), WeakMap(), WeakSet()(比如)
- Promise.race()