이터러블(iterable)

Jayden ·2023년 4월 14일
0

1) 이터레이션 프로토콜

이터레이션 프로토콜에는 이터러블 프로토콜이터레이터 프로토콜이 있다.

(1) 이터러블 프로토콜

well-known Symbol.iterator를 프로퍼티 키로 메서드를 직접 구현하거나 프로토타입 체인을 통해 상속 받는 Symbol.iterator 메서드를 호출하면 이터레이터 프로토콜을 준수한 이터레이터를 반환한다. 이러한 규약을 이터러블 프로토콜이라고 하며, 이터러블을 준수한 객체를 이터러블이라한다.

  • for ... of 문으로 순회할 수 있다.
  • 스프레트 문법(...)과 배열의 디스트럭처링 할당의 대상으로 사용할 수 있다.

(2) 이터레이터 프로토콜

이터러블의 Symbol.iterator 메서드를 호출하면 이터레이터 프로토콜을 준수한 이터레이터를 반환한다. 이터레이터는 next 메서드를 호출하면 value와 done 프로퍼티를 갖는 객체를 반환한다.
이러한 규약을 준수한 객체를 이터레이터라 한다. 이터레이터는 이터러블의 요소를 탐색하기 위한 포인터 역할을 한다.

profile
J-SONE 프론트엔드 개발자

0개의 댓글