이터레이터패턴

HS K·2023년 2월 14일
0
post-custom-banner

이터레이터패턴

이터레이터(iterator)를 사용하여 컬렉션(collection)의 요소들에 접근하는 디자인 패턴
각기 다른 컬렉션들을 똑같은 인터페이스로 순회가 쉽다는 장점을 가지고 있다.

자바스크립트의 for of 가 하나의 예

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

const st = new Set() 
st.add(1)
st.add(2)
st.add(3)
const a = []
for(let i = 0; i < 10; i++)a.push(i)

for(let aa of a) console.log(aa) 
for(let a of mp) console.log(a) 
for(let a of st) console.log(a) 
/*
a, b, c
[ 'a', 1 ]
[ 'b', 2 ]
[ 'c', 3 ]
1
2
3
*/
  • 컬렉션 : 컨테이너라고도 하고, 동일한 요소들의 집합을 말한다.
    배열, 트리 등을 지칭한다.
  • 이터레이터 프로토콜 : 이터러블한 객체들을 순회할 때 쓰이는 규칙

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

각기 다른 자료구조라도, 하나의 인터페이스를 기반으로해서 순회할 수 있다.

profile
주의사항 : 최대한 정확하게 작성하려고 하지만, 틀릴내용이 있을 수도 있으니 유의!
post-custom-banner

0개의 댓글