본문 바로가기

이터레이터2

이터러블/이터레이터 프로토콜 이터러블 이터레이터를 리턴하는 [Symbol.iterator]()를 가지는 값 이터레이터 {value, done} 객체를 리턴하는 next()를 가지는 값 const arr = [1, 2, 3] let iter = arr[Symbol.iterator]() iter.next() // {value: 1, done: false} iter.next() // {value: 2, done: false} iter.next() // {value: 3, done: false} iter.next() // {value: undefined, done: true} 이터러블/이터레이터 프로토콜 이터러블을 for ... of, 전개연산자 등과 함께 동작하도록 한 규약 const arr = [1, 2, 3, 4, 5] for(con.. 2021. 3. 24.
이터러블 이터러블 프로토콜을 준수한 객체를 이터러블 이라고 한다. 즉, 이터러블은 Symbol.iterator를 프로퍼티 키로 사용한 메서드를 직접 구현하거나 프로토타입 체인을 통해 상속받은 객체를 말한다. Symbol.iterator 메서드를 직접 구현하지 않거나 상속받지 않은 일반 객체는 이터러블 프로토콜을 준수한 이터러블이 아니다. 따라서 일반 객체는 for...of 문으로 순회할 수 없다. 이터러블 프로토콜 : Symbol.iterator를 프로퍼티 키로 사용한 메서드를 구현하거나 호출하면 이터레이터 프로토콜을 준수한 이터레이터를 반환한다. 이터러블 프로토콜을 준수한 객체를 이터러블 이라고 한다. for...of 문으로 순회가 가능하다. 이터레이터 프로토콜 : Symbol.iterator메서드를 호출하면 .. 2020. 11. 24.