网络上稀奇古怪的方法比较多,但是好像不能简洁明了,假设emty对象为空:
const empty = {} |
旧方法如下,利用Lodash的“ isEmpty”方法:
_.isEmpty(empty) |
新的方法是:
Object keys(empty). Length == 0& empty.constructor == Object |
对于较新的浏览器,可以将普通的javascript与“ Object.keys”一起使用。
那么为什么要检查empty.constructor ?它确保传入的数据是实际的对象,例如,如果您传入typeof [],它将记录对象,但是如果您指向构造函数,它将实际上告诉您它是一个数组.
浏览器实际执行如下循环检查:
for (var key in object) { |