前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JS如何判断一个对象是空对象(不是null哈)

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

原创
作者头像
剁椒鱼鳞
发布2023-06-06 13:52:29
1.1K0
发布2023-06-06 13:52:29
举报
文章被收录于专栏:前端小学生前端小学生

已知一个对象(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()。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档