이터러블의 구현
이터러블을 구현하기 위해 일반 객체에 [Symbol.iterator](), next()를 구현하는 것은 번거롭다.
제너레이터를 활용하면 간단하게 이터러블을 구현할 수 있다.
앞서 해보았던 피보나치 수열을 제너레이터를 활용하여 만들어보자.
const fibonacci = (function* () {
let [pre, cur] = [0, 1];
while (true) {
[pre, cur] = [cur, pre + cur];
yield cur;
}
}())
for (const num of fibonacci) {
if (num > 5000) break;
console.log(num);
}
'Javascript' 카테고리의 다른 글
(JS) 객체지향 프로그래밍 (정의, 프로퍼티와 메서드) (0) | 2022.06.24 |
---|---|
(JS) async / await (0) | 2022.06.13 |
(JS) 제너레이터 (0) | 2022.06.13 |
(JS) 사용자 정의 이터러블 (1) | 2022.06.13 |
(JS) 이터레이터 (0) | 2022.06.11 |