HTML, CSS, JS

(JS) 이터레이터, 이터러블, 제너레이터

흰둥아솜사탕 2023. 4. 11. 22:31
728x90
반응형

이터레이터, 이터러블, 제너레이터

이터레이터(Iterator)

  • 반복 처리가 가능한 객체
  • 내부적으로 next() 메서드를 가지며 next() 메서드는 IteratorResult 객체 value와 done이라는 프로퍼티를 가진 객체를 반환해야함

이터러블(Iterable)

  • 반복이 가능한 객체
  • Symbol.Iterator 메서드가 있어야 하며 Symbol.Iterator는 이터레이터 객체를 반환해야 함
  • String, Array, Map, Set ..등 객체
  • for 문법으로 반복이 가능

제너레이터(Generator)

  • 실행을 멈췄다가 나중에 다시 접근할 수 있는 특이한 형태의 함수
  • 나중에 다시 접근하기 위해 context(변수)를 저장된 상태로 남겨둠
  • 이터레이터를 좀 더 유연하게 사용할 수 있음
function* 제너레이터명(){

}
728x90
반응형