https://blog.csdn.net/qq_42324718/article/details/100123449
在使用react的時候,props中的值通常作為對象在父組件和子組件之間進行進行傳遞,通常會牽扯到判斷對象是否為空的情況,今天遇到,特意來記錄下方便以后回顧.
一:使用JSON的內置對象方法JSON.stringify()
const obj = {} ;
JSON.stringify(obj) === '{}' ;
方法返回值: boolean
1
2
3
4
5
二:使用ES6的方法Object.getOwnPropertyNames()
const obj = {} ;
Object.getOwnPropertyNames(obj) ;
返回值:這個方法是獲取到對象中的屬性名,存到一個數組中,返回數組對象,可以通過長度來判斷對象是否為空。如:
const isTrue = Object.getOwnPropertyNames(obj).length === 0 ? true : false ;
1
2
3
4
5
6
7
三:使用ES6的方法Object.keys()
const obj = {} ;
Object.keys(obj) ;
返回值:這個方法也是獲取到對象中的屬性名,存到一個數組中,返回數組對象
和第二種方法不同的就是,getOwnPropertyNames()返回的屬性字符串包括了不可枚舉,而Object.keys()只返回可枚舉的屬性字符串數組。如果我們沒有顯示的定義屬性是否可枚舉,那么創建的屬性默認是可枚舉的,所以這樣,兩者返回的結果是一樣的。如:
const isTrue = Object.keys(obj).length === 0 ? true : false ;
1
2
3
4
5
6
7
8
四:jquery的isEmptyObject(),使用時需要引入jq的依賴
const obj = {} ;
const b = $.isEmptyObject(obj);
返回值:boolean
alert(b); //true
————————————————
版權聲明:本文為CSDN博主「不一樣的小白噢」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_42324718/article/details/100123449