반응형
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를 사용하도록 합시다!
반응형
'Programing > JavaScript' 카테고리의 다른 글
프로그래밍에서의 Curring 이란? Curring in javascript (0) | 2021.10.28 |
---|---|
javascript 생성자 알짜만 빼먹기, 현업 활용 예 class, prototype (0) | 2021.10.28 |
주니어 개발자가 들이면 좋은 습관! (0) | 2021.10.19 |
javascript Template literals (Template strings) 문자열 병합 (0) | 2021.10.19 |
iframe innerText 공백 non breaking spaces 처리 (0) | 2021.10.19 |
댓글