JavaScript 判断对象为空
一、支持 Object.keys 情况下
- 排除
undefined
、null
等报错 - 判断是否含
key
- 通过构造函数排除包装类,如
new String()
、new Boolean()
等情况
这种方法有个不足的是,倘若通过 let emptyObj = Object.create(null)
创建空对象,那么 emptyObj.constructor === Object
就不成立了。
function isEmptyObject(val) { return val && Object.keys(val).length === 0 && val.constructor === Object }
二、不支持 Object.keys 时
function isEmptyObject(val) { return Object.prototype.toString.call(val) === '[object Object]' && JSON.stringify(val) === '{}' }
三、使用第三方 JS 库
// Lodash _.isEmpty(val) // Underscore _.isEmpty(val) // jQuery $.isEmptyObject(val)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论