判断对象是否为空
- 该方法有个缺点: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