본문 바로가기
스터디/JavaScript&TypeScript

#자바스크립트 책터디 1 - 이터레이터

by zendyne 2024. 6. 8.

 

이터레이터 패턴

 

배경

만약 관계형 데이터베이스에서 select 쿼리를 사용하여 질의 결과가 천 줄 혹은 그 이상이었을 때 루프와 같은 반복적인 방식을 사용해 데이터를 처리해야 합니다. 이 때 이터레이터 패턴을 사용.

 

1. 이터레이터는 next()라는 메서드를 지원하며, next()를 호출할 때마다 관계형 데이터베이스에서 질의 결과에 해당하는 레코드나 줄과 같은 데이터 조각이 차례대로 반환.

 

2. 데이터가 총 몇개인지 사전에 알기 쉽지 않지만 이터레이터 패턴은 반복작업이 종료되었다는 신호를 줌.

 

3. 반복작업으로 데이터를 처리할 때 표준화된 방법을 제공.

 

깔끔하고 이해하기 쉬운 코드로 반복작업을 수행할 수 있다.

 

 

이터레이터 패턴의 프로토콜(ES6 명세서)

- next() 메서드는 이터레이터 리절트라 불리는 객체를 반환

- 이터레이터 리절트 객체에는 value와 done이라는 프로퍼티가 있어야 한다고 규정

- 반복작업이 끝나지 않은 경우 done에는 불리언 값 false가 저장되어야 함