- Published on
Typescript Iterator
- Authors
- Name
- Luffy Yeon
Iterator
반복자(iterator)는 객체 지향적 프로그래밍에서 배열이나 그와 유사한 자료 구조의 내부의 요소를 순회(traversing)하는 객체이다. [위키백과]
Javascript Iterator
Javascript의 문자열 Symbol.iterator 프로퍼티가 존재. for ... of 에서 객체에 대해 루프를 돌며 출력
let aStr = 'javascript iterator'for (let c of aStr) { console.log(c)}
Symbol.iterator 프로퍼티를 명시적으로 사용
let aStr = 'javascript iterator'let iter = aStr[Symbol.iterator]()console.log(iter.next().value)
next 함수는 done과 value 두 값을 가진 객체 반환.
Typescript Iterator
Typescript에서 문자열 또는 배열의 정의
interface IteratorResult<T> { done: boolean; value; T; }
interface Iterator<T> { next(value?: any): IteratorResult<T>; return?(value?: any): IteratorResult<T>; throw?(e?: any): IteratorResult<T>; }
interface Iterable<T> { [Symbol.iterator](): Iterator<T>; }
interface IterableIterator<T> extends Iterator<T> { [Symbol.iterator()]: IterableIterator<T>; }
interface Array<T> { [Symbol.iterator](): IterableIterator<T>; }
entries(): IterableIterator<[number, T]>;