方法一
对象有属性才能够走入 for...in ,并且判断是否是自身拥有的属性。
function isEmptyObject(obj) {
for (var i in obj) {
if (obj.hasOwnProperty(i)) {
return false;
}
}
return true;
}
方法二
利用 JSON.stringify 转为一个字符串进行判断
function isEmptyObject(obj) {
const objStr = JSON.stringify(obj);
return objStr === '{}';
}
方法三
利用 Object.keys 来收集 key, 返回一个数组。注意,如果存在 Symbol,Object.keys 不会识别这个 key,要使用 Object.getOwnPropertySymbol 来查看。
function isEmptyObject(obj) {
return Object.keys(obj).length === 0 && Object.getOwnPropertySymbols(obj).length === 0;
}