내용 정리 JS - Generator

이유승·2024년 11월 18일
0

내용 정리

목록 보기
30/31
post-thumbnail



Generator

  • 함수의 실행을 중간에 멈추었다가 재개할 수 있는 기능을 제공하는 특수한 함수.

  • 일반 함수와는 다르게, Generator는 호출 즉시 실행되지 않고, 실행 컨텍스트를 유지하면서 특정 시점에서 멈추거나 다시 실행할 수 있다.

  • 비동기 처리, 반복 제어, 데이터 스트림 같은 작업에서 유용하게 사용할 수 있다.



Generator의 정의 및 문법

  • Generator 함수는 function* 키워드로 정의한다.

  • yield 키워드를 사용하여 함수 실행을 일시 중지하거나 값을 반환할 수 있다.

function* generatorFunction() {
    yield 1;
    yield 2;
    yield 3;
}



Generator 호출 및 실행

const gen = generatorFunction(); // Generator 객체 반환

console.log(gen.next()); // { value: 1, done: false }
console.log(gen.next()); // { value: 2, done: false }
console.log(gen.next()); // { value: 3, done: false }
console.log(gen.next()); // { value: undefined, done: true }

value: yield 키워드 뒤에 반환된 값.
done: Generator가 끝났는지 여부.

  • Generator 함수를 호출하면 함수가 바로 실행되지 않고, Iterator 객체를 반환한다.

  • 이 객체의 next() 메서드를 호출하면 Generator가 실행된다.

profile
프론트엔드 개발자를 준비하고 있습니다.

0개의 댓글