[JavaScript] 제너레이터(Generator)
 제너레이터(Generator)  제너레이터는 중단점이있는 함수이다. 부가적으로 더 말해보면  이터레이터이자 이터러블을 생성하는 함수이다. 이터러블이란 순회 가능한 객체이다.     function  * gen () {     yield  1 ;     yield  2 ;     yield  3 ;     return  100 ; } let  iter  = gen (); console . log ( iter [ Symbol . iterator ]() === iter ); // true 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: 100, done: true}   function * gen () {     yield  1 ;     yield  2 ;     yield  3 ;     return  100 ; } let  iter  = gen (); for  ( const  num  of  iter ) {     console . log ( num ) // 1,2,3 }       제너레이터 사용법은 일반함수에서 앞에 *을 붙여서 제너레이터 함수를 만든다.  이렇게 작성한 제너레이터는 이터레이터를 반환한다. (순회 가능한 값?) 이렇게 반환된 이터레이터는 next() 메서드를 호출하여 한 단계식 순회하며 객체를 반환한다. 제너레이터에서는 중단점을 yield로 구분한다. 이러한 yield는 중단점이면서 값을 반환하기도 한다.     제너레이터 함수를통해 반환된 이터레이터는 이터러블이기도 하다. 제너레이터를 통해 반환된 이터레이터는 [Symbol.iterator] 메서드를 가지고있고  ite...