Iterable Iterator 정의
이터러블/이터레이터 프로토콜에 대한 정의 & 간단 예제
Iterable 이란?
이터레이터를 리턴하는 [Symbol.iterator]() 를 가진 값
Iterator 란?
{ value, done } 객체를 리턴하는 next() 를 가진 값
이터러블/이터레이터 프로토콜:
이터러블을 for ... of, 전개 연산자 등과 함께 동작하도록한 규약
배열을 이용한 심플 예제
arr 은 [Symbol.iterator] 라는 메서드를 가지고 있고, 평가하면 함수가 반환된다.
for ... of 문은
value
에 들어오는 값을a
에 담아서 출력하다가done
값이true
가 되면 for문을 빠져나오게 되어 있다.new Set([1,2,3])
,new Map()
역시 동일하다.
참고 링크
Last updated