FrontEnd/Javascript

[javascript] 빈객체 if문으로 확인하는 방법 ({} check / Object.keys 주의사항)

김평범님 2022. 7. 19. 20:50
반응형

자바스크립트 빈객체 확인하기

자바스크립트에서 default 객체를 선언하는 방법은 아래와 같다.

const obj = {}; 

이후 로직에서 obj 객체에 key,value가 세팅이 되었는지 아닌지 체크하는 방법이 필요해서

찾아보게되었다.

 

 

🧡Object.keys 이용하기

Object.keys()를 이용하면 주어진 객체의 key 이름을 배열로 반환한다.

Object.keys(obj) //빈객체일 경우 [], key가 있는경우 [id,name]

해당 기능을 이용해서 if문처리가 가능하다.

 

예시코드

let obj = {}
obj ={
    id:1,
    name:one
}

if(Object.keys(obj).length !== 0) {
  alert("빈객체아님!")
}

실행 결과 화면

위 예시로 빈객체인지 아닌지 확인이 가능하다!

 

 

사용시 주의사항

만약 obj객체에 object(객체)형태가 아닌 다른 형태의 객체를 넣었을 경우에도 error가 나는 것이 아니라
ES2015에서 부터는 강제로 인수를 객체로 변환해서 인식해버린다.

let obj = {}
obj ='빈객체'

if(Object.keys(obj).length !== 0) {
  alert("빈객체아님!")
}

console.log(obj)
console.log(Object.keys(obj))
console.log(Object.keys(obj).length);

</script>

결과화면

위와 같은 오류로 if문 처리가 정확히 되지 않을 수 도있으니
객체가 아닌 다른 형태의 인수가 들어가지 않도록 주의해야 한다.

 

 

 

 

 

 

반응형