개발 관련 토막지식

자바스크립트에서 제네레이터(Generator)

dev_in 2025. 12. 31. 14:47

 

제네레이터(Generator)는 자바스크립트에서 반복 가능한 데이터를 만들거나, 실행 흐름을 중간에 멈췄다가 다시 이어서 실행할 수 있게 해주는 특수한 함수입니다.

 

 

제네레이터 함수는 실행 시 즉시 코드가 실행되는 대신 이터레이터 객체를 반환합니다.


이터레이터 객체(Iterator Object)란 데이터를 순서대로 하나씩 꺼내어 반복 처리할 수 있도록 해주는 객체로, '반복자'라고도 불리며 next()와 같은 메소드를 통해 상태를 유지하며 다음 값을 반환하는 역할을 합니다.


이 이터레이터는 next() 메서드를 통해 하나씩 값을 꺼낼 수 있으며, yield 지점에서 멈췄다가, 다음 next() 호출 시 그 지점부터 다시 실행됩니다.

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

const gen = myGenerator();
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 }

 

 

제네레이터의 가장 큰 특징은 함수의 실행 상태를 보존하면서 여러 번 호출할 수 있다는 점입니다.

이 특징을 활용해 데이터를 지연 평가하거나 복잡한 반복 로직 등을 구현할 때 유용하게 사용됩니다.

 

출처 - 매일메일

'개발 관련 토막지식' 카테고리의 다른 글

쿠키와 세션 (+Stateless구조, XSS)  (0) 2026.01.15
React의 리렌더링 과정  (0) 2026.01.06
웹표준이란?  (0) 2026.01.06
리액트의 Batching Update  (0) 2026.01.02
CSS의 cascading  (0) 2025.04.26