【发布时间】:2026-02-12 10:05:02
【问题描述】:
使用Lodash 和Underscore 我可以知道一个对象是否为空。
const a = {};
我想了解的是为什么它不能将所有属性都未定义的对象识别为空。
例子:
const a = {
b: undefined,
c: undefined
};
这个问题不是lodash: check object is empty的重复:我不是在寻找一种方法来验证它是否为空且具有未定义的属性,我想了解为什么即使具有未定义值的属性它也不是空对象。
【问题讨论】:
-
因为a不为空?
-
我看不出有任何理由将
Object.keys(obj).length > 0的对象视为空:它不是。 -
因为它包含属性 -
b、c。它们的值只是未定义 -
我完全理解,如果它有属性,但如果它的属性没有值,为什么不说对象是空的。
-
因为
undefined是一个完全合法的值。
标签: javascript node.js