CHOI BOO 블로그

[Javascript] For-Of, For-In 차이

2020.11.08
Javascript
for-of
for-in

for-of

  • 이터러블 오브젝트 반복

  • 이터러블 오브젝트가 대상

  • Object는 전개되지 않음

  • Object는 이터러블 오브젝트가 아니므로 for-of 사용 불가

  • prototype의 프로퍼티도 전개되지 않음

  • Object를 for-of로 전개할 수 있는 방법
    Object.keys()로 프로퍼티 이름을 배열로 만들고 만든 배열을 for-of로 전개

// for문으로만 사용했을 때 배열 나열 const list = [1, 2, 3]; for (let k = 0; k < list.length; k++) { console.log(list[k]); } // for-of로 배열 나열 for (let value of list) { console.log(value); } // 실행결과 1 2 3 // Object를 for-of로 전개 const sports = { soccer: '축구', baseball: '야구', }; const keyList = Object.keys(sports); for (let key of keyList) { console.log(key + ': ' + sports[key]); } // 실행결과 soccer: 축구 baseball: 야구

for-in

  • 열거 가능한 프로퍼티가 대상
  • {key: value} 형태는 디폴트가 enumerable: true
  • Object.defineProperty()는 디폴트가 enumerable: false
const obj = {}; Object.defineProperties(obj, { sports: { enumerable: false, value: '스포츠', }, book: { enumerable: true, value: '책', }, }); for (let item in obj) { console.log(item + ': ' + obj[item]); } // 실행결과 book: 책
지식공유자: 김영보

Link: inflearn.com/course/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-ES6-%EA%B8%B0%EB%B3%B8

© CHOI BOO 2021