[javascript] for...in 반복문을 이용한 객체 속성 순회하기

자바스크립트에서 객체키-값 쌍을 포함하는 데이터 구조입니다. 객체의 속성을 순회하며 접근해야 할 때, for...in 반복문을 사용할 수 있습니다.

const person = {
  name: 'John',
  age: 30,
  city: 'New York'
};

for (let key in person) {
  console.log(`${key}: ${person[key]}`);
}

위 예시에서 for...in 반복문을 사용하여 person 객체의 속성을 순회하고, 각 속성의 키와 값을 출력하고 있습니다.

for...in 반복문은 객체의 열거 가능한 속성을 반환하며, 해당 객체 또는 해당 객체의 프로토타입 체인에 대해 순회합니다. 그러나 이 반복문은 순서를 보장하지 않으므로 속성의 순서가 중요한 경우 주의해야 합니다.

객체의 모든 속성을 안전하게 순회하려면 hasOwnProperty 메서드를 사용하여 객체 자체의 속성인지 확인할 수 있습니다.

for (let key in person) {
  if (person.hasOwnProperty(key)) {
    console.log(`${key}: ${person[key]}`);
  }
}

hasOwnProperty 메서드를 사용하여 속성의 소유 여부를 확인함으로써 객체의 프로토타입 체인에 속한 속성을 제외시킬 수 있습니다.

이러한 기술은 객체에서 속성을 안전하게 순회하고, 필요한 작업을 수행하는 데 도움이 될 것입니다.

더 자세한 내용은 MDN 웹 문서 “for…in”을 참고하세요.