已知一个对象(Object),如何判断是一个空对象,即{ }。很多人会想到采用Object.keys(obj).length === 0,或者JSON.stringify(obj) === "{}",这些都是不严谨的,甚至for-in都是错误的。
如果key为symbol的话,object.keys拿到的长度仍旧为0
见上图,拿到的仍旧为"{}",所以存在漏洞
如果对象设置不可枚举,那么for-in进而就成了摆设了
综上,最靠谱的方案就是Reflect.ownKeys()。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。