JavaScript에서 for...of와 for...in 루프의 차이

발행: (2025년 12월 5일 오전 07:59 GMT+9)
2 min read
원문: Dev.to

Source: Dev.to

JavaScript를 사용할 때 for...offor...in 루프의 차이를 이해하는 것은 깔끔하고 효율적인 코드를 작성하는 데 필수적입니다. 겉보기에는 비슷해 보일 수 있지만, 두 루프는 서로 다른 목적을 가지고 있으며 서로 다른 데이터 구조와 함께 작동합니다.

배열

  • for...of는 실제 요소를 제공합니다.
  • for...in은 인덱스를 문자열 형태로 제공합니다.
const data = ['apple', 'banana', 'cherry'];

// for...of – iterates over values
for (let item of data) {
    console.log(item);
}
// Output:
// apple
// banana
// cherry

// for...in – iterates over keys (indices)
for (let index in data) {
    console.log(index);
}
// Output:
// 0
// 1
// 2

문자열

  • for...of는 각 문자를 순회합니다.
  • for...in은 문자 인덱스를 문자열 형태로 순회합니다.
const text = "hello";

// for...of – characters
for (let char of text) {
    console.log(char);
}
// Output: h e l l o

// for...in – indices
for (let index in text) {
    console.log(index);
}
// Output: 0 1 2 3 4

객체

  • for...of는 일반 객체와 직접 사용할 수 없습니다 (오류가 발생합니다).
  • for...in은 객체의 열거 가능한 속성 키들을 순회합니다.
const person = { name: 'John', age: 30, city: 'NYC' };

// for...in – keys and values
for (let key in person) {
    console.log(key, person[key]);
}
// Output:
// name John
// age 30
// city NYC
Back to Blog

관련 글

더 보기 »

JavaScript 첫 걸음: 간단한 정리

JavaScript에서 변수 let: 나중에 값이 변경될 수 있는 경우에 사용합니다. 예시: ```javascript let age = 20; age = 21; ``` const: 값이 절대로 변경되지 않아야 할 때 사용합니다.