IT_susu

generator 제너레이터 본문

[ javascript ]/modern javaScript

generator 제너레이터

고베베 2019. 8. 21. 19:59

ES6에서 도입된 제너레이터(Generator) 함수는 이터러블을 생성하는 함수입니다.

또한 제너레이터 함수는 비동기 처리에 유용하게 사용됩니다. <- 내가 지금 generator를 이해하려는 이유입니다. redux-saga를 쓰려면 제너레이터를 알아야 한다더군요..

 

제너레이터 함수는 일반 함수와 같이 함수의 코드 블록을 한 번에 실행하지 않고 함수 코드 블록의 실행을 일시 중지했다가 필요한 시점에 재시작할 수 있는 특수한 함수이다.

 

일반 함수를 호출하면 return 문으로 반환값을 리턴하지만 제너레이터 함수를 호출하면 제너레이터를 반환한다. 이 제너레이터는 이터러블(iterable)이면서 동시에 이터레이터(iterator)인 객체이다. 다시 말해 제너레이터 함수가 생성한 제너레이터는 Symbol.iterator 메소드를 소유한 이터러블이다. 그리고 제너레이터는 next 메소드를 소유하며 next 메소드를 호출하면 value, done 프로퍼티를 갖는 이터레이터 리절트 객체를 반환하는 이터레이터이다.

 

 

'[ javascript ] > modern javaScript' 카테고리의 다른 글

Promise  (0) 2019.08.09
비구조화 할당, 해체할당, 구조분해 destructuring assignment  (0) 2019.08.05
Arrow function  (0) 2019.08.05
String 객체의 새로운 메서드  (0) 2019.01.31
gulp  (0) 2019.01.15
Comments