함수의 실행을 중간에 멈췄다가 재개할 수 있는 기능

function* fn() {
	console.log(1);
  yield 1;
	console.log(2);
  yield 2;
	console.log(3);
	console.log(4);
  yield 3;
  return "finish";
}

const a = fn();

a.next(); 를 입력하면 yield n 전까지의 코드를 호출한다.

다른 작업을 하다가 다시 돌아와서 진행이 멈췄던 부분 부터 이어서 실행

return(), throw()

외부에서 부터 값을 입력 받을 수 도 있다

무한 루프를 사용해도 컴퓨터가 뻗지 않는다 (이유: next 할때만 실행이 되어서 ..?)