Каким образом можно использовать итераторы и генераторы в TypeScript?

Пользователь

от bill.walker , в категории: Компьютерные технологии , 10 месяцев назад

Каким образом можно использовать итераторы и генераторы в TypeScript?

Facebook Vk Ok Twitter Telegram Whatsapp

1 ответ

Пользователь

от brook.gottlieb , 10 месяцев назад

@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