ECMAScript | TypeScript

ECMAScript6, Generator Function

partner_jun 2018. 5. 13. 13:42

재직중 사내 위키에 작성했던 내용인데 최근 Generator를 다시 사용하게 되어 블로그에도 등록한다.



Generator Function

ES6에 추가된 Generator 함수는 손쉽게 이터레이터를 만들 수 있게 해준다. JAVA의 Stream.iterate(...)와 유사하다.





Generator 함수의 객체는 next()를 호출할 때마다

함수의 완료 상태 여부를 뜻하는 프로퍼티 doneyield로 반환된 value 프로퍼티를 가진 객체를 리턴한다.





Generator 함수는 ES5에서 자신의 상태를 가지고 그 상태에 따라 다른 동작을 하는 함수로 변환된다.



현재 Arrow Function을 이용해 Generator 함수를 만들 수는 없다. 이 기능은 ES7 기능으로 논의되고 있다고 한다.