[javascript] 객체 순회를 통한 속성 유무 확인하기

JavaScript에서 객체의 속성을 순회하고 특정 속성이 존재하는지 확인하는 방법에 대해 알아보겠습니다.

Object.keys 메서드

Object.keys 메서드는 객체의 속성 중에서 열거 가능한 속성의 이름을 배열로 반환합니다. 이를 사용하여 객체의 속성을 순회하고 특정 속성이 존재하는지 확인할 수 있습니다.

const obj = {
  name: 'John',
  age: 30,
  occupation: 'engineer'
};

const propertyName = 'age';

if (Object.keys(obj).includes(propertyName)) {
  console.log(`${propertyName} 속성이 존재합니다.`);
} else {
  console.log(`${propertyName} 속성이 존재하지 않습니다.`);
}

in 연산자

또 다른 방법으로는 in 연산자를 사용하여 객체의 특정 속성이 존재하는지 확인할 수 있습니다.

const obj = {
  name: 'John',
  age: 30,
  occupation: 'engineer'
};

const propertyName = 'age';

if (propertyName in obj) {
  console.log(`${propertyName} 속성이 존재합니다.`);
} else {
  console.log(`${propertyName} 속성이 존재하지 않습니다.`);
}

hasOwnProperty 메서드

hasOwnProperty 메서드는 객체 자체에 특정 속성이 존재하는지 확인할 수 있습니다.

const obj = {
  name: 'John',
  age: 30,
  occupation: 'engineer'
};

const propertyName = 'age';

if (obj.hasOwnProperty(propertyName)) {
  console.log(`${propertyName} 속성이 존재합니다.`);
} else {
  console.log(`${propertyName} 속성이 존재하지 않습니다.`);
}

결론

JavaScript에서 객체의 속성을 확인하는 방법으로 Object.keys 메서드, in 연산자, hasOwnProperty 메서드를 사용할 수 있습니다. 이를 활용하여 객체 속성의 유무를 효과적으로 판단할 수 있습니다.

더 자세한 내용은 MDN web docs - Object.keysMDN web docs - in 연산자를 참고하시기 바랍니다.