본문으로 바로가기

[JS] 이터러블과 이터레이터

category WEB/JS 2019. 1. 13. 16:19

이터러블과 이터레이터


이터러블

순회 가능한 자료구조

이터레이터를 리턴하는 [Symbol.iterator]() 를 가진 값

Array, String, Map, Set, DOM data structures


이터레이터

순회 가능한 객체

{ value, done } 객체를 리턴하는 next() 를 가진 값

이터러블 프로토콜을 지킨 이터러블은 Symbol.iterator 메소드를 가지고 있다.

해당 이터러블이 Symbol.iterator 메소드를 호출하면 이터레이터를 반환할 수 있다.

이터레이터는 이터러블의 각 요소를 순회하기 위해 next 메소드를 갖는다.

next는 각 단계의 값인 value와 모든 단계를 끝냈는지를 알려주는 done을 반환한다.


이터러블/이터레이터 프로토콜

이터러블을 for...of, 전개 연산자 등과 함께 동작하도록 한 규약

'WEB > JS' 카테고리의 다른 글

리액트 - 고차 컴포넌트(HOC)  (0) 2019.01.15
[JS] 제너레이터  (0) 2019.01.13
[JS] 클로저(Closure)  (0) 2019.01.10
[JS] 실행 컨텍스트  (0) 2019.01.09
[JS] this 바인딩  (0) 2019.01.09