기존과 달라진 ES6에서의 리스트 순회


const list = [1, 2, 3];
const str = 'abc'; // 유사배열
****
// case 기존의 리스트순회

for (var i = 0; i < list.length; i++) {
  // log(list[i]); // 1 2 3
}
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);
}

Array를 통해 알아보기

log('Arr -----------');
const arr = [1, 2, 3];
for (const a of arr) log(a);

Set을 통해 알아보기

log('Set -----------');
const set = new Set([1, 2, 3]);
for (const a of set) log(a);

Map을 통해 알아보기

log('Map -----------');
const map = new Map([['a', 1], ['b', 2], ['c', 3]]);
for (const a of map) log(a);
\\

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/0dc4b75d-923f-4feb-b1b1-a4a1c1ef3d7a/Untitled.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/27fc05ed-20e6-415a-853c-fc681c0920ed/Untitled.png

for of 의 구현 알아보기

log('Arr -----------');
const arr = [1, 2, 3];

arr[Symbol.iterator] = null; // arr is not iterable 에러

const iter1 = arr[Symbol.iterator]();
for (const a of iter1) log(a);

// set 과 map 역시 set[Symbol.iterator] map[Symbol.iterator] 에
// 어떤 메서드가 구현되어있다