34-1. 이터레이션 프로토콜

: 순회 가능한 데이터 컬렉션(자료구조)을 만들기 위해

ES6에서 도입된 ECMAScript 사양에 정의하여 미리 약속한 규칙

ES6에서

<aside> 🔍 이터러블이 되려면

[Symbol.iterator] () 메서드를 갖고 있어야하고 객체를 반환

그 객체는 next 메서드를 갖고 있으면 되고 value를 반환해야함

{
	[Symbol.iterator]() {
		return {
			next() {
				return {value: any}
			}
		}
	}
}

</aside>

이터레이션 프로토콜

  1. 이터러블 프로토콜 : 이터레이터 프로토콜을 준수한 이터레이터를 반환하는 규약
  2. 이터레이터 프로토콜 : Symbol.iterator 메서드를 호출해서 이터러블을 반환 ⇒ 이터러블은 next 메서드 소유 value 객체를 반환 이러한 규약

1. 이터러블

2. 이터레이터

34-2. 빌트인 이터러블