今天我需要检查一个对象是否为空。
因为在JavaScript中,对象是通过引用进行比较的,所以我们不能像这样做简单的比较。
const obj = {}
if (obj === {}) {
//no
}
解决方案是将对象传递给内置方法Object.keys() ,并检查对象构造函数是否为Object 。
const obj = {}
Object.keys(obj).length === 0 && obj.constructor === Object
增加第二个检查很重要,以避免误报。
下载我的免费JavaScript手册!