요즘 함수형 프로그래밍에 흥미가 생겼다. 리액트로 프로젝트를 진행하면서 좀 더 좋은 코드를 작성하기위해 노력을 하고있는데 이 과정에서 함수형 프로그래밍의 필요성을 알게되었다. 아직 함수형 프로그래밍에 대해 완벽히 이해하지는 못했지만 조금씩 공부를 하던 중에 ES6에서 도입된 제너레이터 함수라는 재미있는 개념이 등장해서 정리를 해보려고 한다. 일반적인 함수를 호출 했을 때 제어권이 함수에게 넘어가고 함수가 모두 실행이 되었을 때 다시 제어권을 함수 호출자가 가져가게된다. 하지만 제너레이터 함수를 호출하면 제어권을 함수가 가져가는 것이 아니라 함수 호출자에게 제어권을 양도(yield)한다. 다음은 1부터 10까지의 수 중에서 홀수를 출력하는 함수를 작성한 것이다. 1부터 10까지의 수가 포함된 배열인 num..