TypeScript 中的迭代器和生成器是用来处理序列的功能强大的工具。迭代器允许对象自定义其迭代行为,而生成器则提供了一种更便捷的方式来定义复杂的迭代逻辑。
1. 迭代器 (Iterators)
定义:迭代器是一个对象,它实现了 Iterator
接口,该接口包含一个 next
方法,返回一个包含 value
和 done
属性的对象。
基本用法:
// 定义一个迭代器
class SimpleIterator {
private count: number = 0;
private limit: number;
constructor(limit: number) {
this.limit = limit;
}
// 实现迭代器协议
next() {
if (this.count < this.limit) {
return { value: this.count++, done: false };
} else {
return { value: undefined, done: true };
}
}
}
const iterator = new SimpleIterator(3);
console.log(iterator.next());