@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 |