Skip to content

JS-如何判断对象为空

  • 利用 Reflect 判断对象是否为空是最佳方式
js
function isEmpty(obj) {
  return Reflect.ownKeys(obj).length === 0
}

console.log(isEmpty({})) // true
console.log(isEmpty({ a: 1 })) // false
  • Object.keys(obj) 返回对象所有可枚举的自有属性。如果有非枚举属性或者符号属性,那么将不会被考虑
  • Object.getOwnPropertyNames(obj) 返回对象的所有自有属性,无论是否可枚举。但是并不考虑符号属性。
  • Reflect.ownKeys(obj): 返回对象的所有自有属性,包括不可枚举属性和符号属性