JavaScript 에서 빈 객체를 체크하는 방법입니다.

Object.keys() 함수

function isEmptyObj(obj) {
	if((Object.keys(obj).length === 0) && (obj.constructor === Object)) {
		return true;
	}
	return false;
}

const obj1 = {};
const obj2 = {name: 'js'};
const arr = [];
const str = "JavaScript";

document.writeln(isEmptyObj(obj1)); // true
document.writeln(isEmptyObj(obj2)); // false
document.writeln(isEmptyObj(arr)); // false
document.writeln(isEmptyObj(str)); // false

<aside> 💡 Array() 객체 const arr = []; console.log( arr.constructor === Array ); → true

</aside>

반복문 사용하기

function isEmptyObj(obj) {
	if(obj.constructor !== Object) {
		return false;
	}

	for(let key in obj) {
		if(obj.hasOwnProperty(key)) {
			return false;
		}
	}

	return true;
}

const obj1 = {};
const obj2 = {name: 'js'};
const arr = [];
const str = "JavaScript";

document.writeln(isEmptyObj(obj1)); // true
document.writeln(isEmptyObj(obj2)); // false
document.writeln(isEmptyObj(arr)); // false
document.writeln(isEmptyObj(str)); // false

for..in 반복문을 활용하여 빈 객체를 체크할 수 있습니다.

lodash library 사용하기