react中的JS判断对象是否为空对象的几种方法

在使用react的时候,props中的值通常作为对象在父组件和子组件之间进行进行传递,通常会牵扯到判断对象是否为空的情况,今天遇到,特意来记录下方便以后回顾.

一:使用JSON的内置对象方法JSON.stringify()

const obj = {} ;

JSON.stringify(obj) === '{}' ;

方法返回值: boolean

二:使用ES6的方法Object.getOwnPropertyNames()

const obj = {} ;

Object.getOwnPropertyNames(obj) ;

返回值:这个方法是获取到对象中的属性名,存到一个数组中,返回数组对象,可以通过长度来判断对象是否为空。如:

const isTrue = Object.getOwnPropertyNames(obj).length === 0 ? true : false ;

三:使用ES6的方法Object.keys()

const obj = {} ;

Object.keys(obj) ;

返回值:这个方法也是获取到对象中的属性名,存到一个数组中,返回数组对象
和第二种方法不同的就是,getOwnPropertyNames()返回的属性字符串包括了不可枚举,而Object.keys()只返回可枚举的属性字符串数组。如果我们没有显示的定义属性是否可枚举,那么创建的属性默认是可枚举的,所以这样,两者返回的结果是一样的。如:

const isTrue = Object.keys(obj).length === 0 ? true : false ;

四:jquery的isEmptyObject(),使用时需要引入jq的依赖

const obj = {} ;

const b = $.isEmptyObject(obj);

返回值:boolean

alert(b); //true
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值