Appearance
一个具有 next 方法的对象,且 next 方法每次调用的时候都返回一个迭代结果,那么称这个对象实现了可迭代协议。
type NextReturn = { value: any, done: boolean }
done 代表迭代是否是最后一次,value 代表本次迭代的值是多少。如果是最后一次,那么消费这可以知道这个 value 是最后一个值,并且不再进行进行迭代。
一个实现了可迭代协议的对象叫做可迭代对象,是指拥有键值[Symbol.iterator](){ }的对象,该方法返回这个对象的迭代器。调用者可以使用这个迭代器来消费该对象。
[Symbol.iterator](){ }