首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Javascript中如何检测一个空对象

Javascript中如何检测一个空对象

原创
作者头像
IT工作者
发布2022-01-25 15:05:52
发布2022-01-25 15:05:52
1.4K0
举报
文章被收录于专栏:程序技术知识程序技术知识

如何检测空对象,如var a = {}; 对象a即是一个空对象,因为它不含有任何属性。

Javascript实现方式

ES7实现方式

代码语言:javascript
复制
/**
 *
 */
// 因为 Object.entries(new Date()).length === 0;
// 因此我们不得不多做一步检查=>obj.constructor ===Object
Object.entries(obj).length === 0 && obj.constructor === Object

ES5实现方式

代码语言:javascript
复制
/**

 */
// 因为 Object.entries(new Date()).length === 0;
// 因此我们不得不多做一些检查
Object.keys(obj).length === 0 && obj.constructor === Object

ES5之前实现方式

代码语言:javascript
复制
/**

 */
function isEmpty(obj) {
    for(var prop in obj) {
      if(obj.hasOwnProperty(prop)) {
        return false;
      }
    }
  
    return JSON.stringify(obj) === JSON.stringify({});
  }

框架实现方式

jQuery

代码语言:javascript
复制
/**

 */
jQuery.isEmptyObject({}); // true

loadsh

代码语言:javascript
复制
/**
 */
_.isEmpty({}); // true

Underscore

代码语言:javascript
复制
/**
 * 时间:2019年8月18日
 * 前端教程: https://www.pipipi.net/
 */
_.isEmpty({}); // true

Hoek

代码语言:javascript
复制
/**

 */
Hoek.deepEqual({}, {}); // true

ExtJS

代码语言:javascript
复制
/**

 */
Ext.Object.isEmpty({}); // true

AngularJS (version 1)

代码语言:javascript
复制
/**

 */
angular.equals({}, {}); // true

Ramda

代码语言:javascript
复制
R.isEmpty({}); // true

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Javascript实现方式
    • ES7实现方式
    • ES5实现方式
    • ES5之前实现方式
  • 框架实现方式
    • jQuery
    • loadsh
    • Underscore
    • Hoek
    • ExtJS
    • AngularJS (version 1)
    • Ramda
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档