이터레이터 객체를 반환하고 이터레이터 메서드를 가진 객체
이터레이터 리절트 객체를 반환하고
next
메서드를 가진 객체
{ value: any, done: boolean }
형태의 객체
next
) 호출done
프로퍼티가 true
일때까지 순회이터레이터 리절트 객체의
done
프로퍼티가true
가 되기 전에 끝내는 방법
for/of
문에서break
나return
문을 만났을 때
return()
메서드가 있는지 확인한다.return()
메서드가 존재한다면 인터프리터는 인자 없이 return()
메서드를 호출해서 파일을 닫고 메모리를 반환한다.return()
메서드는 반드시 이터레이터 리절트 객체를 반환해야 한다.
- 제너레이터는 이터레이터이다.
- 제너레이터는 이터레이터 객체를 반환한다.
yield
는 사실 표현식이다.- 제너레이터의
next()
를 호출하면yield
표현식을 만날 때까지 실행된다.yield
키워드 다음에 있는 표현식을 평가한 값이next()
의 반환 값이다.(즉시 실행 중지)next()
메서드를 다음에 호출할 때yield
표현식의 값을 인자로 전달한다.