javascript 빈 객체 체크 (check empty object)

javascript check empty object

자바스크립트에서 빈 객체를 체크하려는 경우 null로 체크 할 수 없습니다. 따라서 별도의 함수를 생성하여 체크하는 방법을 설명드리겠습니다.

함수 생성 방법

1
2
3
4
5
6
7
const obj = {};
const arr = [];
function isEmpty(param) {
return Object.keys(param).length === 0;
}
console.log(isEmpty(obj)); // true
console.log(isEmpty(arr)); // true

여러 블로그를 보니 Object.keys를 이용하여 key값을 배열로 변환하여 배열의 길이가 0인지 체크하는 함수를 설명하였습니다. 하지만 이 함수는 배열 역시 true로 반환합니다. 배열도 object이기 때문입니다. 따라서 객체이면서 빈객체인지 체크하려면 추가로 체크를 해야 합니다.

1
2
3
4
5
6
7
const obj = {};
const arr = [];
function isEmptyObject(param) {
return Object.keys(param).length === 0 && param.constructor === Object;
}
console.log(isEmptyObject(obj)); // true
console.log(isEmptyObject(arr)); // false

위와 같이 parameterconstructor까지 Object인지 체크해주면 확실한 객체가 빈 객체인지 체크 할 수 있습니다.

공유하기