Generator 함수의 실행을 중간에 멈췄다가 재개할 수 있는 기능입니다. next(), return(), throw() 다른 작업을 하다가 다시 돌아와서 다시 next() 해주더라도 멈춘 부분 부터 이어서 실행할 수 있다 function 옆에 * 을 써서 만들고, 내부에 yield 키워드를 사용한다. yield 에서 함수의 실행을 멈출 수 있다. iterable Symbol.iterator 메서드가 있다. Symbol.iterator 는 iterator 를 반환해야 한다. iterator next 메서드를 가진다. next 메서드는 value 와 done 속성을 가진 객체를 반환한다. 작업이 끝나면 done 은 true 가 된다. 외부에서 값 입력받기