问题是,没有可以编写的“标准函数”来检测是否“设置”了某些东西。例如,如果它确实是一个空对象,那么你就不想使用它;但是,如果它有键,那么您确实想使用它 - 但是,如果您尝试查看它是否有键而它没有,即使“typeof”返回“object”,使用“Object.keys()”抛出一个错误,说它不是一个对象。所以,我们似乎在这里有一个catch 22(o_O)......有没有更好的方法来查看一个对象是否真的为空,或者它是否有键,而不会引发错误?
我一直在使用一个基本函数来查看一个对象是否甚至是 SET,然后再查看它是否具有有效的 VALUE,但是,我遇到了失败的情况。在 indexeddb 场景和“this.items”场景中,即使它们的“类型”是“对象”,并且它们的“对象”有键,它们的计算结果都为“null”;但是如果我在没有键时评估键,它将引发另一个错误,因为此时对象 TRULY 为空(没有键/属性)。使用“对象”函数,例如“Object.keys”或“hasOwnProperty”等会引发“这不是对象”错误。
本质上,我需要做的是能够正确确定:“这个对象是否被设置为任何东西,或者它是一个真正的空对象?”。在这种情况下,这意味着“它是否具有任何属性,即使它们各自的值为‘null’?” - 我只需要知道它们确实有属性,而不使用“try catch”块,也没有使用对象函数(因为如果对象真的为空,它们就会失败)。