[책] 자바스크립트 코드 레시피 278 - 237일차

wangkodok·2022년 10월 20일
0

반복 처리를 위한 반복자 사용하기

  • 반복 작업이 가능한 객체를 사용하고 싶을 때

구문

객체.[Symbol.iterator]() // 반복자 가져오기
반복자.next() // 다음 반복자 가져오기

설명

반복자 Iterator 는 여러 값에 순서대로 접근이 가능한 구조를 가진 객체로, 단어의 원형인 iterate 는 반복한다는 의미를 가졌습니다. 반복자를 가지는 객체를 반복 가능한 객체 Iterable Object 라고 하며, 대표적으로 배열이 있습니다. 배열은 for...of 를 사용해 순서대로 처리할 수 있으며, 반복 가능한 객체라면 같은 방식으로 for...of 를 사용할 수 있습니다.

const array = [1, 2, 3];
for (let value of array) {
  console.log(value);
}

배열의 개별 반복자에 접근하는 데는 array[Symbol.iterator]() 를 사용하며, next() 를 사용해 다음 반복자로 이동할 수 있습니다. 각 객체는 value와 done 속성을 가집니다.

const array = ['사자', '호랑이', '곰'];
const iterator = array[Symbol.iterator]();

const next1 = iterator.next();
console.log(next1.value);
console.log(next1.done);

const next2 = iterator.next();
console.log(next2.value);
console.log(next2.done);

const next3 = iterator.next();
console.log(next3.value);
console.log(next3.done);

const next4 = iterator.next();
console.log(next4.value);
console.log(next4.done);
profile
기술을 기록하다.

0개의 댓글

관련 채용 정보