빈 객체 체크하는 법은 3가지가 있다.
Object.keys()
함수 lodash library
사용하기Object.keys(obj).length === 0
Object.keys()
함수는 파라미터로 입력받은 객체의 key
목록을 배열로 리턴한다.
따라서, 만약 Object.keys()
를 호출한 결과 배열의 길이가 0이면 비어있는 객체이다.
for(let prop in obj) {
if(obj.hasOwnProperty(prop)) {
return false;
}
}
for...in
구문을 이용하면 프로토타입 체인을 따라서 상속되는 프로퍼티들까지 모두 순회한다.
그 속성(property)을 제외하고 체크하기 위해서 hasOwnPropery()
함수로 한번 더 체크한다.
lodash 라이브러리 다운로드 혹은 CDN으로 참조로 사용 가능하다.
if(obj.constructor === Object
&& _.isEmpty(obj)) {
return true;
}
lodash
의 isEmpty()
함수를 사용할 수 있다.
lodash
의 isEmpty()
함수는 object
, collection
, map
, set
이 비어있는지를 체크해주는 함수이다.
간단하게 이 lodash의 isEmpty()
함수를 사용할 수도 있다.