CSㅣ디자인 패턴 - 이터레이터 패턴

휘Bin·2023년 9월 10일
0
post-thumbnail

이터레이터 패턴

'이터레이터 패턴(iterator pattern)'이터레이터(iterator)를 사용하여 컬렉션(collection)의 요소들에 접근하는 디자인 패턴이다.

이를 통해 순회할 수 있는 여러 가지 자료형의 구조와는 상관없이 이터레이터라는 하나의 인터페이스로 순회가 가능하다.

아래는 자바스크립트에서 이터레이터 패턴을 적용한 예시를 보여주는 코드이다.

const mp = new Map()
mp.set('a', 1)
mp.set('b', 2)
mp.set('c', 3)

const st = new Set()
st.add(1)
st.add(2)
st.add(3)

for(let a of mp) console.log(a)
for(let a of st) console.log(a)

//
['a',1]
['b',2]
['c',3]
1
2
3

위 코드를 보면, 분명 다른 자료 구조인 set과 map임에도 똑같은 for a of b라는 인터레이터 프로토콜을 통해 순회하는 것을 볼 수 있다.

  • 이터레이터 프로토콜
    : 이터러블한 객체들을 순회할 때 쓰이는 규칙

  • 이터러블한 객체
    : 반복 가능한 객체로 배열을 일반화한 객체

profile
One-step, one-step, steadily growing developer

0개의 댓글

관련 채용 정보