Каким образом можно использовать итераторы и генераторы в TypeScript?
@bill.walker
В TypeScript можно использовать итераторы и генераторы так же, как и в JavaScript. Итераторы позволяют перебирать элементы коллекции, а генераторы - создавать последовательности значений.
Пример использования итератора в TypeScript:
1 2 3 4 5 |
const arr = [1, 2, 3, 4];
for (const item of arr) {
console.log(item);
}
|
Пример использования генератора в TypeScript:
1 2 3 4 5 6 7 8 9 |
function* generateSequence() {
yield 1;
yield* [2, 3];
yield 4;
}
const sequence = generateSequence();
console.log([...sequence]); // [1, 2, 3, 4]
|
Обратите внимание, что в TypeScript можно указывать типы для переменных, функций и аргументов, включая итераторы и генераторы. Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
const arr: number[] = [1, 2, 3, 4];
function* generateSequence(): Generator<number> {
yield 1;
yield* [2, 3];
yield 4;
}
function sumValues(values: Iterable<number>): number {
let sum = 0;
for (const value of values) {
sum += value;
}
return sum;
}
console.log(sumValues(arr)); // 10
console.log(sumValues(generateSequence())); // 10
|