👶 TypeScript
반복자
반복자(Iterator) 반복자(iterator)와 제너레이터(generator)는 상생관계입니다. 제너레이터로 값의 스트림을 생성할 수 있고, 반복자로 생성된 값을 소비할 수 있기 때문입니다. 가령 createFibonacciGenerator 함수를 호출하면 Symbol.iterator 프로퍼티와 next 메서드를 모두 정의한 값을 얻게 됩니다. 즉, 이터러블과 반복자 두 가지가 결합된 제너레이터가 반환됩니다. Symbol.iterator와 next를 구현하는 객체(또는 클래스)를 만들어 반복자나 이터러블을 직접 정의할 수 있습니다. 아래는 1에서 10까지의 숫자를 반복하는 반복자를 정의하는 예시입니다. let numbers = { *[Symbol.iterator]() { for (let n = 1; n