•
기존과 달라진 ES6에서의 리스트 순회
•
Array, Set, Map을 통해 알아보는 이터러블/이터레이터 프로토콜
•
사용자 정의 이터러블, 이터러블/이터레이터 프로토콜 정의
기존과 달라진 ES6에서의 리스트 순회
const log = console.log;
const list = [1, 2, 3];
// es5 에서의 반복문
for (var i = 0; i < list.length; i++) {
// log(list[i]);
}
const str = 'abc';
for (var i = 0; i < str.length; i++) {
// log(str[i]);
}
// es6 에서의 반복문 : 좀 더 간결하고 추상화
for (const a of list) {
// log(a);
}
for (const a of str) {
// log(a);
}
JavaScript
복사
Array, Set, Map을 통해 알아보는 이터러블/이터레이터 프로토콜
•
array, set, map 은 이터러블
이터러블/이터레이터 프로토콜
•
이터러블: 이터레이터를 리턴하는 [Symbol.iterator]() 를 가진 값
•
이터레이터: { value, done } 객체를 리턴하는 next() 를 가진 값
•
이터러블/이터레이터 프로토콜: 이터러블을 for...of, 전개 연산자 등과 함께 동작하도록 한 규약



