gpt4 book ai didi

typescript - ES2015 中的 IterableIterator - 它是什么?

转载 作者:行者123 更新时间:2023-12-05 05:52:09 25 4
gpt4 key购买 nike

当我实现接口(interface)数组时,那里有返回 IterableIterator 的方法。IterableIterator 从 Iterator 扩展而来,我可以很好地理解并且对我来说很有意义。

interface IterableIterator<T> extends Iterator<T> {
[Symbol.iterator](): IterableIterator<T>;
}

但是我应该为 Symbol.iterator 实现什么。这也返回一个 IterableIterator(递归?)我不明白 IterableIterator 的概念。如果有人能回应就太好了。或者可以给我一个描述这个的来源。

最佳答案

Iterator 对象本身变成Iterable 通常很有用,这样它们就可以:

  • for..of 循环中使用
  • 散布成一个数组
  • 被分散到一个参数列表中
  • 用于接受可迭代对象的 API,例如
    • Array.from
    • 新集合
    • 新 map

如果Iterator 对象不是Iterable,那么它们就不能以上述方式使用。迭代它的唯一方法是重复调用 .next() 方法。这很不方便。因此,most Iterator objects produced by ECMAScript APIs也是 Iterable

制作一个Iterator Iterable, the [Symbol.iterator] method should return this .

有关详细信息,请参阅:

关于typescript - ES2015 中的 IterableIterator - 它是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70262989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com