编程教育资源分享平台

网站首页 > 后端开发 正文

JS如何判断一个对象是空对象(不是null哈)

luoriw 2024-02-01 14:29:54 后端开发 11 ℃ 0 评论


已知一个对象(Object),如何判断是一个空对象,即{ }。很多人会想到采用Object.keys(obj).length === 0,或者JSON.stringify(obj) === "{}",这些都是不严谨的,甚至for-in都是错误的。

  • Object.keys

如果key为symbol的话,object.keys拿到的长度仍旧为0

  • JSON.stringify

见上图,拿到的仍旧为"{}",所以存在漏洞

  • for-in循环

如果对象设置不可枚举,那么for-in进而就成了摆设了

  • Reflect.ownKeys()

综上,最靠谱的方案就是Reflect.ownKeys()。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表
最新留言