12.1 이터레이션 프로토콜

  • 모든 객체를 이터러블(iterable) 객체로 바꿀 수 있음

1) 이터레이터를 가져와서 이터레이터 프로토콜을 구현하는 방법

  class Log {
    constructor(){
      this.messages = [];
    }

    add(message){
      this.messages.push({ message, timestamp: Date.now() });
    }

    [Symbol.iterator](){
      return this.messages.values();
    }
  }

  const log = new Log();
  log.add("first day at see");
  log.add("spotted whale");
  log.add("spotted another vessel");

  for (let entry of log) {
    console.log(`${entry.message} @ ${entry.timestamp}`);
  }

결과

2) 이터이터를 직접 만드는 방법

Last updated