Programing/JavaScript
javascript Object 의 property가 있는지 체크하는 여러 방법
리커니
2021. 10. 27. 17:38
반응형
javascript Object 의 property가 있는지 체크하는 여러 방법
1. typeof 사용
const obj = {
name : "geonlee",
age : 36
}
if(typeof obj.name === "undefined"){
console.log(false);
}else{
console.log(true);
}
객체의 속성이 없을 경우 선언하지 않은 값에 접근하게 되어, undefined 가 됩니다.
typeof 를 사용하여 undefined 인지를 확인할 수 있습니다.
2. hasOwnProperty
const obj = {
name : "geonlee",
age : 36
}
if(!obj.hasOwnProperty("name")){
console.log(false);
}else{
console.log(true);
}
객체의 prototype에 존재하는 hasOwnProperty 함수를 사용하여 체크할 수도 있습니다.
hasOwnProperty 함수는 객체가 property를 가지고 있는지를 boolean type으로 리턴합니다.
특히 어떠한 속성에 접근할 때 hasOwnProperty를 활용하면 프로토타입 체인에 걸친 전체 검색으로 인한 성능저하를 막을 수 있습니다.
3. in 연산자 사용
const obj = {
name : "geonlee",
age : 36
}
if("name" in obj){
console.log(false);
}else{
console.log(true);
}
in 연산자를 사용해서도 property의 존재유무를 확인할 수 있습니다.
hasOwnProperty와 같이 boolean type 리턴합니다.
위의 3가지 방법을 알고는 있데, 가장 정석적인 방법인 hasOwnProperty를 사용하도록 합시다!
반응형