TypeScript 제너레이터 실행 모델

제너레이터 함수는 호출 즉시 실행되지 않고 next() 호출 사이에서 실행과 중단을 반복합니다.

생성

function* 호출

함수 본문을 실행하지 않은 채 제너레이터 객체를 반환합니다.

진행

next()

다음 yield까지 코드를 실행하고 value와 done을 돌려줍니다.

중단

yield

값을 내보내고 현재 실행 위치와 지역 상태를 보존합니다.

재개

next(input)

전달한 입력을 이전 yield 표현식의 결과로 받아 실행을 이어갑니다.

종료

return

최종 반환값과 done: true를 돌려주며 반복을 끝냅니다.

핵심Generator<Yield, Return, Next>는 내보내는 값, 최종 반환값, 재개 입력값을 각각 구분합니다.