{ value: any, done: boolean}
형태의 객체를 반환하는next()
메서드가 구현된 객체{ done: true }
가 되면 순환 종료, 그렇지 않으면 다음 value 반환
- 순환할 수 있는 객체
- 이터레이터를 반환하는
[Symbol.iterator]()
를 가진 객체 (기본으로 내장된 객체도 있음) - 자신 또는 프로토타입이
[Symbol.iterator]()
를 가졌다면 모두 이터러블 객체 for-of
반복문, 전개 구문, 구조 분해 할당 등을 사용할 수 있음Array
,Map
,Set
,String
등Array
외의 이터러블 객체는 배열이 아니기 때문에Array
의 내장 메서드를 사용할 수 없지만,Array.from()
메서드를 통해 배열로 변환하면 내장 메서드를 사용할 수 있음