判断空对象

87 阅读1分钟

一, 常用方法

export function isEmpty(obj) {//简洁 但不严谨
  for (let item in obj) {
    return false;
  }
  return true;
}

二, Object.prototype.toString.call(判断类型最准确的方式)

Object.hasOwnproperty.call (判断属性是否存在)

export isEmpty = (obj){
if(Object.prototype.toString.call(obj) !=="[object object]"){
    throw new Error("传的参数不是对象")
}
for(let key in obj){
if(Object.hasOwnproperty.call(obj,key)){
return false
}
}
return true
}

三, Object.keys()

处理对象返回:可枚举数组 处理数组返回:索引数组

const isEmpty=(obj)=>Object.keys(obj).length===0;