🐨CoalaCoding
DocsExamplesTry itBoardB반
🐨CoalaCoding

개발자를 위한 한국어 웹 기술 문서

문서

  • JavaScript
  • Web Publishing
  • React
  • Python

커뮤니티

  • 게시판
  • 예제 모음
  • Try it 에디터

기타

  • GitHub
  • 관리자
© 2026 CoalaCoding. All rights reserved.
  • 01_start
  • 02_class
  • 03_ai이미지-생성기-구현
  • 04_자료형
  • 05_async--await
  • 06_변수와자료형
  • 07_xmlhttprequest-부터axios-까지
  • 08_1-자바스크립트와-ecma
  • 09_reduce
  • 10_캘린더-만들기
  • 11_generator
  • 12_destructuring
  • 13_spread-operator
  • 14_module-export-import
  • 15_http-통신-이란
  • 16_시작
  • 17_2-자바스크립트-코드-실행-과정-및-용어정리
  • 18_map
  • 19_동기와-비동기
  • 20_연산자
  • 21_promise-thencatch
  • 22_3-실행컨텍스트와-스코프
  • 23_콜백-함수
  • 24_제어문
  • 25_4-클로저
  • 26_windowlocation
  • 27_함수
  • 28_5-객체
  • 29_이벤트
  1. 홈
  2. 문서
  3. JavaScript
  4. JavaScript 기초
  5. 11_generator

11_generator

코드 블록의 Try it Yourself 버튼으로 직접 실행할 수 있다.

구문

1. 특징

반복가능한 이터레이터를 반환함 작업의 일시정지,재시작이 가능하며 스스로 상태관리를 함

2. syntax

function* 으로 시작하며 반드시 yield 를 포함한다

function* gen() {
	yield 1; //포인트1
	yield 2; //포인트2
	yield 3; //포인트3
}
const iter = gen(); // gen()는 호출해도 바로실행되지 않고 이터레이터를 반환함
console.log(iter.next()); //{ value: 1, done: false }
console.log(iter.next()); //{ value: 2, done: false }
console.log(iter.next()); //{ value: 3, done: false }
console.log(iter.next()); //{ value: undefined, done: true }

제너레이터 함수의 yield(산출하다) 는 프로그램의 일시정지 포인트로 next 함수호출시 값을 반환후 정지함

2-1 yield 의 표현식

for (var v of iter) console.log(v)

3. m~n까지의 정수값을 순서대로 꺼내는 iterator 를 생성하는 generator

function* createNumbers(from, to) {
	while (from <= to){ yield from++;}
}
let num=createNumbers(10,20)
for(n of num){console.log(n);}

4. 2차원 배열위의 랜덤찍기

…


목차

  • 구문