JavaScript에서 빈 객체 확인하기
먼저, 다음과 같이 아무런 속성도 가지지 않는 빈 객체(empty object)가 있습니다.
const emptyObject = {}
그렇다면 JavaScript에서 객체가 비어 있는지 어떻게 확인할 수 있을까요? 정답은 바로 Object.entries() 함수를 사용하는 것입니다.
Object.entries()의 동작 원리
Object.entries()는 객체를 키(key)와 값(value) 쌍으로 이루어진 배열로 변환해 주는 내장 메서드입니다. 따라서 객체에 속성이 하나도 없다면 결과로 빈 배열을 반환하게 됩니다.
예시를 통해 살펴보겠습니다. 다음은 또 다른 빈 객체입니다.
const someObject = {}
이 객체에 Object.entries() 함수를 적용해 보겠습니다.
Object.entries(someObject)
결과를 콘솔에 출력하면 다음과 같습니다.
console.log(Object.entries(someObject))
// [] (빈 배열)
즉, 객체가 비어 있다면 결과는 항상 빈 배열 []이 됩니다.
속성이 있는 경우와 비교
반대로 속성이 존재하는 객체라면 키와 값의 쌍이 담긴 배열이 반환됩니다.
const user = { name: 'Kim', age: 25 }
console.log(Object.entries(user))
// [['name', 'Kim'], ['age', 25]]
실전 활용 예제
이 특성을 활용하면 객체의 빈 여부를 아주 간단한 함수로 판별할 수 있습니다.
function isEmpty(obj) {
return Object.entries(obj).length === 0
}
console.log(isEmpty({})) // true
console.log(isEmpty({ a: 1 })) // false
이처럼 Object.entries()를 사용하면 외부 라이브러리 없이 순수 JavaScript만으로 객체가 비어 있는지 손쉽게 확인할 수 있습니다.