如何在JavaScript中测试一个空对象

53 阅读1分钟

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

因为在JavaScript中,对象是通过引用进行比较的,所以我们不能像这样做简单的比较。

const obj = {}

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

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

const obj = {}

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

增加第二个检查很重要,以避免误报。

下载我的免费JavaScript手册!