
Generator::next 메서드를 호출할 때, Generator 객체의 상태를 확인하는 것이 중요합니다.
Generator 객체의 상태는 3가지로 나뉩니다.
1. 'done' : Generator 객체의 모든 값을 반환한 상태입니다.
2. 'suspended' : Generator 객체의 다음 값을 반환할 준비가 된 상태입니다.
3. 'active' : Generator 객체가 실행 중인 상태입니다.
Generator 객체의 마지막 값을 반환한 후, 다시 next 메서드를 호출하면 'done' 상태가 됩니다. 이 때, next 메서드는 undefined 값을 반환합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
javascript
function* generator() {
yield 1;
yield 2;
yield 3;
}
const gen = generator();
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2
console.log(gen.next().value); // 3
console.log(gen.next().value); // undefined
위 코드에서, Generator 객체의 마지막 값을 반환한 후, 다시 next 메서드를 호출하면 undefined 값을 반환합니다.
2025-05-16 22:32