[JavaScript] 자바스크립트에서 반복 처리를 위한 반복자 사용하기
2022. 8. 9. 05:46ㆍProgram/JavaScript
267_자바스크립트에서 반복 처리를 위한 반복자 사용하기
[적용]
- 반복 작업이 가능한 객체를 사용하고 싶을 떄
[문법 1]
메소드 | 의미 | 반환 |
객체[Synbol.iterator]() | 반복자 가져오기 | 반복자 |
반복자.next() | 다음 반복자 가져오기 | 반복자 |
[문법 2]
속성 | 의미 | 타입 |
반복자.value | 현재값 | 임의 |
반복자.done | 종료 여부 확인 | 진리값 |
[내용]
반복자(Iterator)는 여러 값에 순서대로 접근이 가능한 구조를 가진 객체로,
단어의 원형인 iterate는 반복한다는 의미를 가졌다.
반복자를 가지는 객체를 반복 가능한 객체(Iterable Object)라고 하며, 대표적으로 배열이 있다.
배열은 for...of를 사용해 순서대로 처리할 수 있으며, 반복 가능한 객체라면 같은 방식으로 for...of를 사용할 수 있다.
JavaScript
const array = [1, 2, 3];
for (let value of array) {
console.log(value);
}
배열의 개별 반복자에 접근하는 데는 '배열[Symbol.iterator]()'를 사용하며,
next()를 사용해 다음 반복자로 이동할 수 있다. 각 객체는 value와 done 속성을 가진다.
JavaScript main.js
const array = ['사자', '호랑이', '곰'];
const iterator = array[Symbol.iterator]();
const next1 = iterator.next();
console.log(next1.value); // 결과: '사자'
console.log(next1.done); // 결과: false
const next2 = iterator.next();
console.log(next2.value); // 결과: '호랑이'
console.log(next2.done); // 결과: false
const next3 = iterator.next();
console.log(next3.value); // 결과: '곰'
console.log(next3.done); // 결과: false
const next4 = iterator.next();
console.log(next4.value); // 결과: undefined
console.log(next4.done); // 결과: true
실행결과
참조 :
실무에 바로 적용하는 자바스크립트 코드레시피 278
아케다 야스노부, 카노 타케시 지음 / 이춘혁 옮김
'Program > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트에서 유일한 데이터 사용하기(심볼) (0) | 2022.08.09 |
---|---|
[JavaScript] 자바스크립트에서 iterator 정의하여 사용하기 (0) | 2022.08.09 |
[JavaScript] 모듈형 자바스크립트 HTML에서 읽어오기 (0) | 2022.08.08 |
[JavaScript] 자바스크립트에서 모듈 가져오기 (import) (0) | 2022.08.08 |
[JavaScript] 자바스크립트에서 모듈 내보내기 (export) (0) | 2022.08.08 |