본문 바로가기

JavaScript

JavaScript for/in과 for/of의 차이점

반응형

for/in 반복문

  • 객체의 속성 이름을 순회합니다.
  • 객체의 열거 가능한 모든 속성(상속된 속성 포함)을 순회합니다.
  • 배열을 순회할 때도 사용할 수 있지만, 인덱스 순서가 보장되지 않고, 배열에 추가된 확장 속성까지 순회할 수 있으므로 일반적으로는 배열 순회에 사용하지 않습니다.

    const obj = {a: 1, b: 2, c: 3};
    for (const prop in obj) {
      console.log(prop, obj[prop]); // a 1, b 2, c 3 출력
    }

for/of 반복문

  • 이터러블 객체의 값을 순회합니다.
  • 배열, 문자열, Map, Set 등 이터러블 프로토콜을 구현한 객체를 순회할 수 있습니다.
  • 배열을 순회할 때 인덱스 순서대로 값을 순회하므로 배열 순회에 더 적합합니다.

    const arr = ['a', 'b', 'c'];
    for (const value of arr) {
      console.log(value); // a, b, c 차례로 출력
    }

요약

for/in: 객체의 속성 이름을 순회하며, 주로 객체의 속성에 대한 작업에 사용됩니다.
for/of: 이터러블 객체의 값을 순회하며, 배열과 같은 순서가 있는 컬렉션의 원소에 대한 작업에 더 적합합니다.

반응형

'JavaScript' 카테고리의 다른 글

JavaScript Essential Set Methods  (0) 2023.08.22
JavaScript "break" vs "continue"  (0) 2023.08.21
JavaScript loop 문 총정리  (0) 2023.08.21
JavaScript switch 문 개념 바로잡  (0) 2023.08.21
JavaScript "==" vs "===" 비교 연산자  (0) 2023.08.21