Skip to content
目录

判断对象是否为空

  • 该方法有个缺点:JSON.stringify()只能序列化对象的可枚举的自有属性,即如果有属性是不可枚举或继承属性的话,结果也是true
javascript
const obj = {}
console.log(JSON.stringify(obj) === '{}')  // true
  • Object.getOwnPropertyNames()
  • 方法会返回该对象所有可枚举和不可枚举属性的属性名(不含Symbol属性)组成的数组。然后再通过判断返回的数组长度是否为零
  • 如果为零的话就是空对象。该方法对于不可枚举的属性也能检测出来
javascript
const obj = {}
console.log(Object.getOwnPropertyNames(obj).length === 0)  // true

Released under the MIT License.