首页 > 其他 > 详细

一道面试题:怎么判断一个对象是{}

时间:2021-05-24 15:19:59      阅读:11      评论:0      收藏:0      [点我收藏+]

这个问题有个坑:假如对象的属性是通过Object.defineproperty()定义的,然后设置为不可枚举。

这种情况下:

1)Object.keys()不可以获取到不可枚举属性

2)for in 不可遍历不可枚举属性

3)JSON.stringify忽略不可枚举属性

所以上面几种都不可用,而正确的应该是用Reflect.ownKeys()这个方法,这个方法返回一个对象的key数组,且返回自身的而不包含原型链上的,且不管是不是不可枚举。

如果这个的返回空数组那么就可以证明为{},当然需要首先判断是不是对象数据类型。

一道面试题:怎么判断一个对象是{}

原文:https://www.cnblogs.com/zhensg123/p/14803114.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!