function* 호출
함수 본문을 실행하지 않은 채 제너레이터 객체를 반환합니다.
제너레이터 함수는 호출 즉시 실행되지 않고 next() 호출 사이에서 실행과 중단을 반복합니다.
함수 본문을 실행하지 않은 채 제너레이터 객체를 반환합니다.
다음 yield까지 코드를 실행하고 value와 done을 돌려줍니다.
값을 내보내고 현재 실행 위치와 지역 상태를 보존합니다.
전달한 입력을 이전 yield 표현식의 결과로 받아 실행을 이어갑니다.
최종 반환값과 done: true를 돌려주며 반복을 끝냅니다.
핵심Generator<Yield, Return, Next>는 내보내는 값, 최종 반환값, 재개 입력값을 각각 구분합니다.