home
자바
home

ES6에서의 순회와 이터러블:이터레이터 프로토콜

기존과 달라진 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, 전개 연산자 등과 함께 동작하도록 한 규약
심볼이란?
'심볼(symbol)'은 유일한 식별자(unique identifier)를 만들고 싶을 때 사용

사용자 정의 이터러블, 이터러블/이터레이터 프로토콜 정의