이터러블 iterable
- 이터러블
- 이터러블 프로토콜
- Symbol.iterator 메서드를 소유
- Symbol.iterator 메서드 호출 시 이터레이터 프로토콜을 준수한 객체를 반환
- for of문으로 순회 가능, 스프레드 문법과 배열 디스트럭처링 할당의 대상으로 사용 가능
- 배열도 Array.prototype의 Symbol.iterator 메서드를 상속 받는 이터러블임
이터레이터 iterator
- 이터레이터
- 이터레이터 프로토콜을 준수한 객체
- 이터러블의 요소를 탐색하기 위한 포인터 역할
- 이터레이터 프로토콜
- next 메서드를 소유
- next 메서드 호출 시 이터러블을 순회하며 value와 done 프로퍼티를 갖는 iterator result 객체를 반환
유사 배열 객체 Array-like Objects
- length 속성을 가지고 0부터 시작해 1씩 증가하는 키를 가진 객체
- Array.prototype을 상속받지 않기 때문에 배열의 메서드를 사용할 수 없음
- Array.from() 메서드를 통해 배열로 만들 수 있음