자바스크립트 hasOwnProperty 메소드 이해하기
hasOwnProperty 메소드란?
자바스크립트 객체에서 특정 프로퍼티가 존재하는지 확인하는 함수인 hasOwnProperty() 메소드는 불리언 속성을 반환합니다. 이 메소드는 객체가 상속받지 않은 자신의 프로퍼티인 경우 true, 부모 객체로부터 상속받은 프로퍼티인 경우 false를 반환합니다.
const car = {
make: 'Toyota',
model: 'Camry'
};
console.log(car.hasOwnProperty('make')); // true
console.log(car.hasOwnProperty('color')); // false
위의 코드에서 make은 car 객체의 자신의 프로퍼티이므로 hasOwnProperty(‘make’)는 true를 반환합니다. 반면 color는 car 객체의 부모 객체에서 상속받은 프로퍼티이므로 hasOwnProperty(‘color’)는 false를 반환합니다.
hasOwnProperty 메소드의 활용
hasOwnProperty 메소드는 객체의 프로퍼티를 반복하는 경우 유용하게 사용됩니다. Object.keys() 함수를 사용하여 객체의 프로퍼티를 배열로 변환한 후, 배열의 forEach() 메소드를 사용하여 프로퍼티를 반복하는 경우, hasOwnProperty() 메소드를 사용하여 객체가 직접 가지고 있는 프로퍼티를 찾을 수 있습니다.
const car = {
make: 'Toyota',
model: 'Camry'
};
Object.keys(car).forEach((prop) => {
if (car.hasOwnProperty(prop)) {
console.log(prop + ': ' + car[prop]);
}
});
위의 코드에서 Object.keys() 함수를 사용하여 car 객체의 프로퍼티를 배열로 변환한 후, 배열의 forEach() 메소드를 사용하여 객체가 직접 가지고 있는 프로퍼티를 출력합니다.
요약
자바스크립트 hasOwnProperty 메소드는 객체가 직접 가지고 있는 프로퍼티인지 확인하는 유용한 함수입니다. 이 메소드는 객체의 프로퍼티를 반복하는 경우 유용하게 사용될 수 있습니다.
Keywords: 자바스크립트, hasOwnProperty 메소드, 객체, 프로퍼티, 배열