精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在 JavaScript 中如何檢查對(duì)象為空

開發(fā) 前端
下面的代碼片段,用于檢查對(duì)象是否為空。對(duì)于較新的瀏覽器,你可以使用 ES6 的 “Object.keys”。🍦對(duì)于較舊的瀏覽器,可以安裝Lodash庫并使用其“ isEmpty”方法。

[[338448]]

下面的代碼片段,用于檢查對(duì)象是否為空。對(duì)于較新的瀏覽器,你可以使用 ES6 的 “Object.keys”。🍦對(duì)于較舊的瀏覽器,可以安裝Lodash庫并使用其“ isEmpty”方法。

  1. const empty = {}; 
  2.  
  3. /* ------------------------- 
  4.   較新的瀏覽器 
  5. ----------------------------*/ 
  6. Object.keys(empty).length === 0 && empty.constructor === Object 
  7. // true 
  8.  
  9. /* ------------------------- 
  10.   老版本的瀏覽器可以使用 Lodash 
  11. ----------------------------*/ 
  12. _.isEmpty(empty) 
  13. // true 

什么是原生 JavaScript

原生 JavaScript 指的是不使用框架或庫。它只是常規(guī)的普通 JavaScript,沒有使用Lodash或jQuery之類的庫。

A.在較新的瀏覽器中檢查空對(duì)象

我們可以使用內(nèi)置的Object.keys方法檢查空對(duì)象。

  1. const empty = {}; 
  2.  
  3. Object.keys(empty).length === 0 && empty.constructor === object; 

為什么我們需要額外的constructor 檢查?

你可能想知道為什么我們需要對(duì) constructor 進(jìn)行檢查。它是為了覆蓋包裝器實(shí)例。在JavaScript中,我們有9個(gè)內(nèi)置的構(gòu)造函數(shù)。

  1. new Object(); 
  2.  
  3. new String(); 
  4. new Number(); 
  5. new Boolean(); 
  6. new Array(); 
  7. new RegExp(); 
  8. new Function(); 
  9. new Date(); 

這里,我們可以使用new Object()創(chuàng)建一個(gè)空對(duì)象。

注:永遠(yuǎn)不要使用構(gòu)造函數(shù)創(chuàng)建對(duì)象。這被認(rèn)為是不好的做法,請(qǐng)參閱 Airbnb Style Guide 和 ESLint。

  1. const obj = new Object(); 
  2.  
  3. Object.keys(obj).length === 0; // true 

因此,僅使用Object.keys,當(dāng)對(duì)象為空時(shí),它的確會(huì)返回true。但是,當(dāng)我們使用其他構(gòu)造函數(shù)創(chuàng)建新的對(duì)象實(shí)例時(shí)會(huì)發(fā)生什么。

  1. function badEmptyCheck(value) { 
  2.   return Object.keys(value).length === 0; 
  3.  
  4. badEmptyCheck(new String());    // true 😱 
  5. badEmptyCheck(new Number());    // true 😱 
  6. badEmptyCheck(new Boolean());   // true 😱 
  7. badEmptyCheck(new Array());     // true 😱 
  8. badEmptyCheck(new RegExp());    // true 😱 
  9. badEmptyCheck(new Function());  // true 😱 
  10. badEmptyCheck(new Date());      // true 😱 

通過檢查 constructor 解決誤報(bào)

通過添加構(gòu)造函數(shù)檢查來糾正這個(gè)錯(cuò)誤。

  1. function goodEmptyCheck(value) { 
  2.   Object.keys(value).length === 0 
  3.     && value.constructor === Object; // 👈 constructor check 
  4.  
  5. goodEmptyCheck(new String());   // false ✅ 
  6. goodEmptyCheck(new Number());   // false ✅ 
  7. goodEmptyCheck(new Boolean());  // false ✅ 
  8. goodEmptyCheck(new Array());    // false ✅ 
  9. goodEmptyCheck(new RegExp());   // false ✅ 
  10. goodEmptyCheck(new Function()); // false ✅ 
  11. goodEmptyCheck(new Date());     // false ✅ 

Nice,干的漂亮 👍

對(duì)其他值進(jìn)行空檢查

接著,我們用一些值上測(cè)試我們的方法,看看我們會(huì)得到了什么 🧪

  1. function isEmptyObject(value) { 
  2.   return Object.keys(value).length === 0 && value.constructor === Object; 

到目前為止看起來不錯(cuò),對(duì)于非對(duì)象它返回 false。

  1. isEmptyObject(100)  // false 
  2. isEmptyObject(true) // false 
  3. isEmptyObject([])   // false 

但是要當(dāng)心!下面這些值會(huì)引發(fā)錯(cuò)誤。

  1. // TypeError: Cannot covert undefined or null to object 
  2. isEmptyObject(undefined); 
  3. isEmptyObject(null); 

改進(jìn)對(duì)null和undefined的空檢查

如果不想讓它拋出TypeError,可以添加額外的檢查

  1. function isEmptyObject(value) { 
  2.   return value && Object.keys(value).length === 0 && value.constructor === Object; 

B.舊版本瀏覽器中的空對(duì)象檢查如果你需要支持較舊的瀏覽器怎么辦?大家都知道,當(dāng)說舊的瀏覽器時(shí),指的是 IE,我們有2個(gè)選擇,使用原生或利用庫。

使用 JavaScript 檢查空對(duì)象

原生的 JS 并不那么簡(jiǎn)潔,但判斷用來空對(duì)象是沒問題的。

  1. function isObjectEmpty(value) { 
  2.   return ( 
  3.     Object.prototype.toString.call(value) === '[object Object]' && JSON.stringify(value) === '{}' 
  4.   ); 

對(duì)于對(duì)象,它返回true。

  1. isObjectEmpty({});           // true ✅ 
  2. isObjectEmpty(new Object()); // true ✅ 

其它類型的構(gòu)造函數(shù)也能正常判斷 😉

  1. isObjectEmpty(new String());   // false ✅ 
  2. isObjectEmpty(new Number());   // false ✅ 
  3. isObjectEmpty(new Boolean());  // false ✅ 
  4. isObjectEmpty(new Array());    // false ✅ 
  5. isObjectEmpty(new RegExp());   // false ✅ 
  6. isObjectEmpty(new Function()); // false ✅ 
  7. isObjectEmpty(new Date());     // false ✅ 

傳入 null 和 undefined 也不會(huì)報(bào) TypeError。

  1. isObjectEmpty(null);      // false 
  2. isObjectEmpty(undefined); // false 

使用外部庫檢查空對(duì)象

有大量的外部庫可以用來檢查空對(duì)象。而且大多數(shù)都對(duì)舊瀏覽器有很好的支持👍

Lodash

  1. _.isEmpty({}); 
  2. // true 

Underscore

  1. _.isEmpty({}); 
  2. // true 

jQuery

  1. jQuery.isEmptyObject({}); 
  2. // true 

原生 VS 庫答案是看情況而定!我非常喜歡盡可能地簡(jiǎn)化程序,因?yàn)槲也幌矚g外部庫的開銷。另外,對(duì)于較小的應(yīng)用程序,我懶得設(shè)置外部庫。但如果你的應(yīng)用程序已經(jīng)安裝了一個(gè)外部庫,那么就繼續(xù)使用它。你會(huì)比任何人都更了解你的應(yīng)用程序。所以選擇最適合你情況的方法

人才們的 【三連】 就是小智不斷分享的最大動(dòng)力,如果本篇博客有任何錯(cuò)誤和建議,歡迎人才們留言,最后,謝謝大家的觀看。

作者:Samantha Ming 譯者:前端小智 來源:medium

 

原文:https://www.samanthaming.com/tidbits/94-how-to-check-if-object-is-empty/#what-is-javascript

本文轉(zhuǎn)載自微信公眾號(hào)「大遷世界」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系大遷世界公眾號(hào)。  

 

責(zé)任編輯:武曉燕 來源: 大遷世界
相關(guān)推薦

2021-01-28 07:52:39

JS數(shù)組變量

2021-06-03 10:00:47

JavaScript 前端數(shù)克隆對(duì)象

2025-01-07 15:20:24

2020-08-23 11:32:21

JavaScript開發(fā)技術(shù)

2021-03-26 23:41:19

JavaScript對(duì)象開發(fā)

2012-04-11 10:39:32

Eclipse

2023-11-21 15:23:15

JavaScript工具

2020-10-22 14:00:31

JavaScript數(shù)字變量

2020-10-22 08:06:05

JavaScrip語言類型

2010-09-08 16:50:11

JavaScriptDOM操作

2020-09-26 22:12:57

JavaScript變量數(shù)字

2020-04-10 10:22:12

Java判空編程語言

2020-09-25 11:30:20

Java判空代碼

2025-01-09 09:14:44

2023-06-02 15:42:51

JavaScript數(shù)據(jù)結(jié)構(gòu)對(duì)象

2018-12-19 19:30:46

JavaScript創(chuàng)建對(duì)象前端

2015-07-06 09:59:56

JavaScript私有成員

2024-01-29 00:57:20

GuavaJava拷貝

2024-04-11 08:30:05

JavaScript數(shù)組函數(shù)

2020-11-26 08:12:24

JavaScript對(duì)象數(shù)組
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

久久精品无码一区二区三区毛片 | 国产91色在线播放| 国产肉体xxxx裸体784大胆| 一级毛片久久久| 国产拍欧美日韩视频二区| 91中文字幕在线观看| 国产精品成人国产乱| 国产精品羞羞答答在线观看| 欧美一区永久视频免费观看| av网站在线观看不卡| 美女免费久久| 久久亚洲精精品中文字幕早川悠里 | 蜜桃精品视频| 欧美日韩国产色视频| 亚洲人一区二区| 亚洲精品免费在线观看视频| 久久影院亚洲| 欧美高跟鞋交xxxxhd| 我和岳m愉情xxxⅹ视频| 久久69av| 欧美色老头old∨ideo| 99久久国产综合精品麻豆| 日韩中文字幕在线精品| 国产女人18毛片水真多18| 香蕉视频亚洲一级| 夜夜嗨av一区二区三区网页| 午夜精品视频在线观看一区二区| 日韩精品人妻中文字幕| heyzo久久| 亚洲精品久久久久久久久久久久久 | 激情在线观看视频| 久久夜夜操妹子| 亚洲国产日韩综合久久精品| 欧美性视频在线播放| 全色精品综合影院| 成人教育av在线| 亚洲自拍偷拍区| 亚洲视频在线免费播放| 模特精品在线| 韩国三级电影久久久久久| 日韩精品卡通动漫网站| a看欧美黄色女同性恋| 欧美日韩国产综合视频在线观看| av 日韩 人妻 黑人 综合 无码| 欧美一级做性受免费大片免费| 国产精品普通话对白| 欧美激情按摩在线| 卡通动漫亚洲综合| jizzjizz欧美69巨大| 亚洲美女在线观看| 久久偷拍免费视频| 欧美中文一区| 亚洲精品www久久久| 无码人妻精品一区二区三区99不卡| 中文字幕在线看片| 国产精品久久毛片a| 亚洲欧美在线网| 国产69精品久久app免费版| 国产成人免费xxxxxxxx| 亚洲a一级视频| hs视频在线观看| 亚洲精品乱码| 色美美综合视频| 亚洲乱码一区av黑人高潮| 又大又长粗又爽又黄少妇视频| 成人高潮aa毛片免费| 亚洲一区二区三区自拍| 日韩精品在线观看av| 精品精品导航| 欧美日韩在线第一页| 国产91对白刺激露脸在线观看| a√在线中文网新版址在线| 国产精品一二二区| 高清视频一区| 手机亚洲第一页| 国产精品资源在线观看| 亚洲已满18点击进入在线看片| 成人公开免费视频| 青草国产精品久久久久久| 韩剧1988免费观看全集| 久久国产黄色片| 久久精品道一区二区三区| 国产精品美女999| 国产免费高清av| 国产91对白在线观看九色| 国产一区二区香蕉| 亚洲av综合色区无码一区爱av | 久久亚洲国产精品成人av秋霞| 亚洲av无码一区二区三区网址| 久久国际精品| 亚洲精品狠狠操| 一区二区伦理片| 香蕉视频官网在线观看日本一区二区| 亚洲嫩模很污视频| 日韩一卡二卡在线观看| 影音先锋久久| 国产精品激情自拍| 亚洲成人黄色片| 久久蜜臀精品av| 综合视频免费看| jizz在线观看视频| 一区二区三区四区激情| 日韩a∨精品日韩在线观看| 草草影院在线| 欧美亚洲国产一区二区三区va| 国产成人久久婷婷精品流白浆| 9999精品成人免费毛片在线看| 亚洲一二三区视频在线观看| 日韩无套无码精品| 精品三级国产| 亚洲无限av看| 久久精品视频9| 蜜桃视频一区二区三区| 黄色99视频| 国产原创在线观看| 亚洲综合色婷婷| 久久久久久香蕉| 96sao在线精品免费视频| 伊人青青综合网站| 日韩三级免费看| 国产老肥熟一区二区三区| 日韩精品在在线一区二区中文| 国产在线视频网| 亚洲一级二级在线| www.99r| 蜜桃一区二区| 久久久在线视频| 国产99久一区二区三区a片| 日本一区免费视频| 欧美 日韩精品| 国产精品99久久免费观看| 久久精品小视频| 波多野结衣绝顶大高潮| 91麻豆.com| 三上悠亚久久精品| 欧美久久一区二区三区| www日韩欧美| 久久免费播放视频| 精品一区二区久久| 国产伦精品一区二区三区免费视频| 熟妇人妻一区二区三区四区| 91免费小视频| 日本网站免费在线观看| a看欧美黄色女同性恋| 欧美另类99xxxxx| 国产一区二区在线视频聊天| 国产欧美精品国产国产专区| 亚洲国产精品女人| 91精品亚洲一区在线观看| 在线播放日韩av| 国产亚洲精品久久777777| 亚洲欧美日韩国产一区二区| 国产专区欧美专区| jizz视频在线观看| 欧美日韩久久一区二区| 欧美一区二区三区粗大| 欧美日本精品| 国产成人看片| 超碰97国产精品人人cao| 精品国产乱子伦一区| 久久老司机精品视频| 丁香婷婷综合激情五月色| 欧洲视频一区二区三区| 网友自拍亚洲| 在线观看久久久久久| 国产91av在线播放| 中文字幕五月欧美| 男人透女人免费视频| 女人丝袜激情亚洲| 国产精品中文字幕久久久| 日本亚洲精品| 精品久久久久久久久久久久久久久久久 | 8x8x华人在线| 国产69精品久久久久按摩| 少妇av一区二区三区| 国产女人18毛片水真多| 亚洲一线二线三线视频| 成人综合久久网| 综合久久综合| 精品国产乱码久久久久久丨区2区| 韩国中文字幕在线| 欧美精品一区男女天堂| 国产91国语对白在线| 国产精品九色蝌蚪自拍| 噼里啪啦国语在线观看免费版高清版| 麻豆视频一区| 国产精品黄色影片导航在线观看| 免费在线高清av| 欧美人伦禁忌dvd放荡欲情| 久草成人在线视频| 国产iv一区二区三区| 国产精品wwwww| 网友自拍一区| 成人自拍性视频| 亚洲女同av| 久久久精品一区| 伊人22222| 国产精品国产a级| 最新中文字幕日本| 免费在线视频一区| 免费超爽大片黄| 成人在线电影在线观看视频| 超碰97国产在线| 综合在线影院| 久久久久久久久久久91| av天在线观看| 亚洲精品少妇网址| 99久久一区二区| 在线亚洲精品福利网址导航| 久久中文字幕无码| 国产精品色婷婷| 日本一区二区在线免费观看| 九色porny丨国产精品| www.中文字幕在线| 欧美黄在线观看| 99在线视频免费观看| 亚洲高清黄色| 5278欧美一区二区三区| 四虎亚洲精品| 成人听书哪个软件好| 日韩一区二区三区四区| 成人免费看片98欧美| 亚洲欧洲中文日韩久久av乱码| a级大片免费看| 欧美96一区二区免费视频| 欧美日韩性生活片| 国产精品大片| 欧美日韩国产精品一区二区| 精品三级在线| 日本午夜精品理论片a级appf发布| 国产精品99999| 亚洲精品久久视频| 成 人 黄 色 片 在线播放| 欧美日韩视频在线第一区| 国产精品成人免费观看| 国产精品蜜臀在线观看| 亚洲精品午夜视频| 国产精品一二三区在线| 伊人成人222| 美日韩一区二区| 一区二区三区网址| 日本人妖一区二区| 北条麻妃在线观看| 久久九九精品| mm1313亚洲国产精品无码试看| 天天天综合网| 精品日韩电影| 网红女主播少妇精品视频| 精品国产乱码久久久久久久软件 | 成人性生交大片免费看视频直播| 黄色美女视频在线观看| 欧美乱大交xxxxx| 特级毛片在线| 久久久综合av| 高清精品在线| 26uuu亚洲伊人春色| 日韩脚交footjobhd| 久久精品在线视频| 毛片网站在线观看| 亚洲视频在线视频| 国产二区在线播放| 久久精品国产精品| 手机av免费在线| 中文字幕欧美日韩| 黄色av电影在线播放| 欧美成人小视频| 69久久精品| 久久亚洲精品成人| 成人高清免费在线播放| 在线免费看av不卡| 欧美被日视频| 欧美高清在线观看| 亚洲性色av| 国产精品老女人视频| 国产精品3区| 国产欧美日韩一区二区三区| 亚洲尤物av| 小说区图片区图片区另类灬| 希岛爱理av一区二区三区| av久久久久久| 国产欧美日韩一级| www.com黄色片| 国产精品91一区二区| 大黑人交xxx极品hd| 欧美激情在线免费观看| 欧美精品一区二区成人| 欧美午夜激情视频| 国产又黄又爽视频| 亚洲激情中文字幕| 午夜视频在线观看免费视频| 欧美精品久久一区二区| 日本久久免费| 99影视tv| 日韩激情免费| 久久艹国产精品| 青青草原综合久久大伊人精品优势| 777米奇影视第四色| 精品亚洲免费视频| av无码av天天av天天爽| 日韩一区在线播放| 五月婷婷中文字幕| 婷婷久久综合九色综合绿巨人| 免费精品在线视频| 五月天欧美精品| 国产精品久久影视| 欧美一区二区在线视频| 欧美理论在线观看| 欧美福利视频在线观看| 青青久久精品| 欧美黑人3p| 黄色在线成人| 一级黄色片国产| 亚洲国产精华液网站w| 日韩av在线天堂| 91精品国产综合久久蜜臀| 男人久久精品| 欧美激情精品久久久久久变态| 国产理论电影在线| 97在线视频免费| www.成人爱| 韩国一区二区三区美女美女秀| 久久不见久久见免费视频7| 黄色片免费在线观看视频| 麻豆成人91精品二区三区| 中文字幕一区三区久久女搜查官| 久久久久久一二三区| 综合 欧美 亚洲日本| 欧美午夜精品久久久久久久| 丰满熟妇人妻中文字幕| 久久国产精彩视频| 亚洲精品乱码日韩| 四虎一区二区| 日韩国产欧美三级| 日韩人妻无码精品综合区| 精品久久久久久久久久| 嫩草影院一区二区| 欧美精品videosex牲欧美| vam成人资源在线观看| 亚洲欧洲在线一区| 久久国产成人午夜av影院| 极品久久久久久久| 欧美中文字幕一区| 9色在线观看| 成人在线视频网站| 99精品视频在线观看播放| 欧美视频免费看欧美视频| 日韩av电影天堂| 熟女少妇内射日韩亚洲| 欧美最新大片在线看| 国产日韩精品在线看| 九九九热精品免费视频观看网站| gay欧美网站| 成人在线资源网址| 99riav1国产精品视频| av黄色一级片| 日韩欧美国产一区二区| 激情小视频在线观看| 国产精品久久av| 四季av一区二区凹凸精品| 男生操女生视频在线观看| 91麻豆高清视频| 成人免费视频国产免费观看| 欧美一级欧美三级在线观看 | 国产亚洲综合性久久久影院| yjizz国产| 伊人av综合网| 91成人小视频| 成人午夜精品久久久久久久蜜臀| 久久99精品久久只有精品| 国语对白在线播放| 欧美sm美女调教| 一区二区三区电影大全| 国产日韩欧美亚洲一区| 美女诱惑一区| 欧美美女性生活视频| 欧美va天堂va视频va在线| 亚洲色图官网| 2025韩国大尺度电影| 成人免费毛片片v| 九九免费精品视频| 欧美福利电影网| 成全电影大全在线观看| 日本一区二区三区视频在线观看| 亚洲国产网站| 欧美人妻一区二区三区| 日韩一区二区麻豆国产| 麻豆mv在线观看| 一区二区三区偷拍| 成人av资源在线| 在线视频 中文字幕| 欧美极品少妇与黑人| 国产成人1区| 无码人妻一区二区三区在线| 91久久久免费一区二区| 日本在线观看高清完整版| 欧美少妇一区| 高清国产午夜精品久久久久久| 希岛爱理中文字幕| 精品亚洲国产视频| 青青热久免费精品视频在线18|