如何在JavaScript中测试空对象

今天,我需要检查一个对象是否为空。

由于在JavaScript中,对象是通过引用进行比较的,因此我们无法像这样进行简单的比较:

const obj = {}

if (obj === {}) { //no }

解决方案是将对象传递给内置方法Object.keys()并检查对象构造函数是否为Object

const obj = {}

Object.keys(obj).length === 0 && obj.constructor === Object

添加第二项检查很重要,以避免误报。

免费下载我的JavaScript初学者手册


更多js教程: