개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.16 22:31

Generator::next 메서드 사용 방법에 대해 질문합니다.

목록
  • Tailwind매니아 15일 전 2025.05.16 22:31
  • 14
    1
teacher님, Generator::next 메서드를 사용할 때, 이 메서드는 Generator 객체를 반복적으로 호출하여 값을 반환해준다고 알려져 있습니다.

Generator 객체를 초기화 한 후, next 메서드를 호출하면 Generator 객체의 초기 값을 반환하고, 다시 next 메서드를 호출하면 Generator 객체의 다음 값을 반환합니다.

그러나, Generator 객체의 마지막 값을 반환한 후, 다시 next 메서드를 호출하면 어떤 값이 반환되는지 궁금합니다.

이에 대해 teacher님께 질문합니다.

    댓글목록

    profile_image
    나우호스팅  15일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 24,052건 / 23 페이지

검색

게시물 검색