JavaScript에서의 반복자 호출
반복자를 연속적으로 호출할 때마다 특별한 구조의 객체를 반환해야 합니다. 이 구조를 살펴보겠습니다. 다음과 같은 배열이 있다고 가정해 봅시다:
javascriptlet arr = [1, 2, 3];
배열의 반복자를 변수에 저장하겠습니다:
javascriptlet iter = arr[Symbol.iterator]();
이제 이 변수에는 next 메서드를 가진
객체가 들어 있습니다. 이 메서드는
요소의 값을 포함하는 value 키와,
순회가 끝났는지 여부에 대한 정보를 포함하는
done 키를 가진 객체를 반환합니다:
javascriptconsole.log( iter.next() ); // {value: 1, done: false}
next 메서드를 연속적으로 호출하면
매번 다음 요소를 반환합니다:
javascriptconsole.log( iter.next() ); // {value: 1, done: false}
console.log( iter.next() ); // {value: 2, done: false}
console.log( iter.next() ); // {value: 3, done: false}
요소가 모두 소진되면, 다음 값들을 볼 수 있습니다:
javascriptconsole.log( iter.next() ); // {value: undefined, done: true}
Задание 1
Map 컬렉션의 반복자를 얻으세요.
컬렉션의 요소가 모두 소진될 때까지
연속적으로 호출해 보세요.
Задание 2
NodeList 컬렉션의 반복자를 얻으세요.
컬렉션의 요소가 모두 소진될 때까지
연속적으로 호출해 보세요.
Задание 3
HTMLCollection 컬렉션의 반복자를 얻으세요.
컬렉션의 요소가 모두 소진될 때까지
연속적으로 호출해 보세요.