js中对空对象的判断

15 阅读1分钟

1.js对空对象的判断

image.png

方法一:使用Object.keys方法检查对象是否拥有属性 方法二:使用JSON.stringify方法将对象转换为字符串,再判断字符串是否为空

image.png

注释: 现在让我们来解释为什么 {} === {} 返回 false。当你使用 {} 创建两个对象时,每个对象都被存储在内存的不同位置。即使它们的内容相同(都是空对象),它们在内存中的地址不同。

image.png

当我们使用 === 运算符比较两个对象时,它实际上在比较对象在内存中的引用地址,而不是对象的内容。当我们通过创建两个对象 {} 时,每个对象都被独立分配到堆内存中的不同地址。尽管这两个对象可能具有相同的结构和属性,但它们是独立创建的,引用地址并不相同。因此,{} === {} 返回 false