카테고리 없음

[타입스크립트] 제너레이터

유병각 2022. 2. 9. 22:47

[타입스크립트] 제너레이터 

 

제너레이터

정의

제너레이터는 값을 생성하는 속도를 제어할 수 있다.

function* createFiboGenerater() {
  let a = 0;
  let b = 1;
  while (true) {
    yield a;
    [a, b] = [b, a + b];
  }
}

let generator = createFiboGenerater();
console.log(generator.next()); // {value: 0, done: false};
console.log(generator.next()); // {value: 1, done: false};
console.log(generator.next()); // {value: 1, done: false};
console.log(generator.next()); // {value: 2, done: false};

특징

함수 이름 앞에 붙은 별표(*) 는 함수가 제너레이터임을 의미한다.

제너레이터는 영구적으로 값을 생성 할 수 있다.

제너레이터는 yield 로 값을 방출한다.

제너레이터 함수는 IterableIterator 객체를 반환하고, 이 객체는 next 매서드를 가지고 있다.