이터러블
이터레이션 프로토콜
이터레이션 프로토콜은 수회 가능한 데이터 컬렉션을 만들기위해 미리 약속한 규칙
순회 가능한 데이터 컬렉션을 이터레이션 프로토콜을 준수하는 이터러블로 통일하여 for ...of문, 스프레드 문법, 배열 디스트럭처링 할당의 대상으로 사용할 수있도록 일원화 함
이터레이션 프로토콜에는 이터러블 포로토콜과 이터레이터 프로토콜이 있다.
이터러블 프로토콜을 준수한 객체를 이터러블이라 한다
→ 이터러블은 for of문으로 순회할 수 있고, 스프레드 문법과 배열 디스트럭처링 할당의 대상으로 사용
→ Symbol.iterator를 프로퍼티키로 사용한 메서드를 직접 구현하거나 프로토타입 체인을 통해 상속받은 객체
이터레이터 프로토콜
→ 이터레이터 프로토콜을 준수한 객체를 이터레이터라 한다. 이터레이터는 이터러블의 요소를 탐색하기 위한 포인터 역할을 한다.
→ 이터러블의 Symbol.iterator 메서드가 반환한 이터레이처는 next 메서드를 갖는다
for of 문
이터러블을 순회하면서 이터러블의 요소를 변수에 할당
for (변수 선언문 of 이터러블) {...} = for in 과 유사
이터레이션의 필요성
데이터 소비자와 데이터 공급자를 연결하는 인터페이스