JavaScript의 제너레이터
반복자를 직접 생성할 수 있는 특별한 함수들이 있습니다. 이러한 함수들을 제너레이터라고 합니다. 이러한 함수의 이름은 별표로 시작해야 합니다:
function *func() {
}
제너레이터 내부에서는 yield 키워드를 사용하며,
이는 반복자가 다음 호출 시 반환해야 할 값을 지정합니다.
예를 들어,
첫 번째 호출이 1을 반환하고, 두 번째는 2,
세 번째는 3을 반환하도록 만들어 보겠습니다:
function *func() {
yield 1;
yield 2;
yield 3;
}
제너레이터는 그 결과로 반복자를 반환합니다:
let iter = func();
우리 반복자의 동작을 확인해 봅시다:
console.log(iter.next()); // {value: 1, done: false}
console.log(iter.next()); // {value: 2, done: false}
console.log(iter.next()); // {value: 3, done: false}
console.log(iter.next()); // {value: undefined, done: true}
각 호출마다 5부터 1까지의 숫자를 반환하는
반복자를 생성하세요.