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

JavaScript中幾個(gè)優(yōu)雅的運(yùn)算符

開發(fā) 前端
新版本的 ECMAScript 引入了三個(gè)新的邏輯賦值運(yùn)算符:空運(yùn)算符,AND 和 OR 運(yùn)算符,這些運(yùn)算符的出現(xiàn),也是希望讓我們的代碼更干凈簡(jiǎn)潔,下面分享幾個(gè)優(yōu)雅的 JavaScript 運(yùn)算符使用技巧。

ECMAScript 發(fā)展進(jìn)程中,會(huì)有很多功能的更新,比如銷毀,箭頭功能,模塊,它們極大的改變 JavaScript 編寫方式,可能有些人喜歡,有些人不喜歡,但像每個(gè)新功能一樣,我們最終會(huì)習(xí)慣它們。

新版本的 ECMAScript 引入了三個(gè)新的邏輯賦值運(yùn)算符:空運(yùn)算符,AND 和 OR 運(yùn)算符,這些運(yùn)算符的出現(xiàn),也是希望讓我們的代碼更干凈簡(jiǎn)潔,下面分享幾個(gè)優(yōu)雅的 JavaScript 運(yùn)算符使用技巧。

[[397737]]

一、可選鏈接運(yùn)算符【?.】

(1) 可選鏈接運(yùn)算符(Optional Chaining Operator) 處于 ES2020 提案的第 4 階段,因此應(yīng)將其添加到規(guī)范中。它改變了訪問對(duì)象內(nèi)部屬性的方式,尤其是深層嵌套的屬性。它也可以作為 TypeScript 3.7 + 中的功能使用。

相信大部分開發(fā)前端的的小伙伴們都會(huì)遇到 null 和未定義的屬性。JS 語言的動(dòng)態(tài)特性使其無法不碰到它們。特別是在處理嵌套對(duì)象時(shí),以下代碼很常見:

  1. if (data && data.children && data.children[0] && data.children[0].title) { 
  2.     // I have a title! 

上面的代碼用于 API 響應(yīng),我必須解析 JSON 以確保名稱存在。但是,當(dāng)對(duì)象具有可選屬性或某些配置對(duì)象具有某些值的動(dòng)態(tài)映射時(shí),可能會(huì)遇到類似情況,需要檢查很多邊界條件。

這時(shí)候,如果我們使用可選鏈接運(yùn)算符,一切就變得更加輕松了。它為我們檢查嵌套屬性,而不必顯式搜索梯形圖。我們所要做的就是使用 “?” 要檢查空值的屬性之后的運(yùn)算符。我們可以隨意在表達(dá)式中多次使用該運(yùn)算符,并且如果未定義任何項(xiàng),它將盡早返回。

(2) 對(duì)于靜態(tài)屬性用法是:

  1. object?.property 

(3) 對(duì)于動(dòng)態(tài)屬性將其更改為:

  1. object?.[expression]  

上面的代碼可以簡(jiǎn)化為:

  1. let title = data?.children?.[0]?.title; 

然后,如果我們有:

  1. let data; 
  2. console.log(data?.children?.[0]?.title) // undefined 
  3.  
  4. data  = {children: [{title:'codercao'}]} 
  5. console.log(data?.children?.[0]?.title) // codercao 

這樣寫是不是更加簡(jiǎn)單了呢?由于操作符一旦為空值就會(huì)終止,因此也可以使用它來有條件地調(diào)用方法或應(yīng)用條件邏輯

  1. const conditionalProperty = null
  2. let index = 0
  3.  
  4. console.log(conditionalProperty?.[index++]); // undefined 
  5. console.log(index);  // 0 

(4) 對(duì)于方法的調(diào)用你可以這樣寫

  1. object.runsOnlyIfMethodExists?.() 

例如下面的parent對(duì)象,如果我們直接調(diào)用parent.getTitle(), 則會(huì)報(bào)Uncaught TypeError: parent.getTitle is not a function錯(cuò)誤,parent.getTitle?.()則會(huì)終止不會(huì)執(zhí)行

  1. let parent = { 
  2.     name: "parent", 
  3.     friends: ["p1", "p2", "p3"], 
  4.     getName: function() { 
  5.       console.log(this.name) 
  6.     } 
  7.   }; 
  8.    
  9.   parent.getName?.()   // parent 
  10.   parent.getTitle?.()  //不會(huì)執(zhí)行 

(5) 與無效合并一起使用

提供了一種方法來處理未定義或?yàn)榭罩岛捅磉_(dá)提供默認(rèn)值。我們可以使用??運(yùn)算符,為表達(dá)式提供默認(rèn)值

  1. console.log(undefined ?? 'codercao'); // codercao 

因此,如果屬性不存在,則可以將無效的合并運(yùn)算符與可選鏈接運(yùn)算符結(jié)合使用以提供默認(rèn)值。

  1. let title = data?.children?.[0]?.title ?? 'codercao'; 
  2. console.log(title); // codercao 

二、邏輯空分配(?? =)

  1. expr1 ??= expr2 

邏輯空值運(yùn)算符僅在 nullish 值(null 或者 undefined)時(shí)才將值分配給 expr1,表達(dá)方式:

  1. x ??= y 

可能看起來等效于:

  1. xx = x ?? y; 

但事實(shí)并非如此!有細(xì)微的差別。

空的合并運(yùn)算符(??)從左到右操作,如果 x 不為 nullish 值則中表達(dá)式不執(zhí)行。因此,如果 x 不為null 或者 undefined,則永遠(yuǎn)不會(huì)對(duì)表達(dá)式y(tǒng)進(jìn)行求值。如果y是一個(gè)函數(shù),它將根本不會(huì)被調(diào)用。因此,此邏輯賦值運(yùn)算符等效于

  1. x ?? (x = y); 

三、邏輯或分配(|| =)

此邏輯賦值運(yùn)算符僅在左側(cè)表達(dá)式為 falsy 值(虛值) 時(shí)才賦值。Falsy 值(虛值)與 null 有所不同,因?yàn)?falsy 值(虛值)可以是任何一種值:undefined,null,空字符串 (雙引號(hào) ""、單引號(hào)’’、反引號(hào) ``),NaN,0。IE 瀏覽器中的 document.all,也算是一個(gè)。

語法:

  1. x ||= y 

等同于

  1. x || (x = y

在我們想要保留現(xiàn)有值(如果不存在)的情況下,這很有用,否則我們想為其分配默認(rèn)值。例如,如果搜索請(qǐng)求中沒有數(shù)據(jù),我們希望將元素的內(nèi)部 HTML 設(shè)置為默認(rèn)值。否則,我們要顯示現(xiàn)有列表。這樣,我們避免了不必要的更新和任何副作用,例如解析,重新渲染,失去焦點(diǎn)等。我們可以簡(jiǎn)單地使用此運(yùn)算符來使用 JavaScript 更新 HTML:

  1. document.getElementById('search').innerHTML ||= '<i>No posts found matching this search.</i>

四、邏輯與分配(&& =)

可能你已經(jīng)猜到了,此邏輯賦值運(yùn)算符僅在左側(cè)為真時(shí)才賦值。因此:

  1. x &&= y 

等同于

  1. x && (x = y

最后

本次分享幾個(gè)優(yōu)雅的 JavaScript 運(yùn)算符使用技巧,重點(diǎn)分享了可選鏈接運(yùn)算符的使用,這樣可以讓我們不需要再編寫大量我們例子中代碼即可輕松訪問嵌套屬性。但是 IE 不支持它,因此,如果需要支持該版本或更舊版本的瀏覽器,則可能需要添加 Babel 插件。對(duì)于 Node.js,需要為此升級(jí)到 Node 14 LTS 版本,因?yàn)? 12.x 不支持該版本。

責(zé)任編輯:趙寧寧 來源: 前端工匠
相關(guān)推薦

2022-09-07 00:04:37

JavaScript運(yùn)算符技巧

2021-07-12 15:35:56

JavaScript代碼運(yùn)算符

2021-02-20 23:34:22

JavaScript運(yùn)算符開發(fā)

2017-05-11 16:38:07

javascript邏輯運(yùn)算符

2020-03-27 22:33:30

JavaScript運(yùn)算符逗號(hào)

2020-06-04 08:13:36

JavaScriptObject.is()運(yùn)算符

2025-02-24 11:16:20

2024-06-11 14:57:00

2025-03-05 09:37:03

2009-08-11 15:51:08

C#運(yùn)算符算術(shù)運(yùn)算符

2022-02-21 07:04:44

C#表達(dá)式運(yùn)算符

2023-04-10 08:58:13

C#關(guān)系運(yùn)算符

2021-03-13 17:48:07

JavaScriptObject.is()運(yùn)算符

2009-08-12 15:02:49

C#賦值運(yùn)算符簡(jiǎn)單賦值運(yùn)算符

2020-10-15 08:11:56

JavaScript邏輯運(yùn)算符

2009-08-12 15:20:18

C#賦值運(yùn)算符復(fù)合賦值運(yùn)算符

2010-10-08 09:17:07

JavaScript表JavaScript運(yùn)

2014-08-14 10:12:45

SwiftNil Coalesc

2023-09-07 23:30:47

運(yùn)算符C++

2009-11-26 11:12:07

PHP運(yùn)算符
點(diǎn)贊
收藏

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

国产无码精品在线播放| 免费啪视频在线观看| 日本福利专区在线观看| 国产精品99久| 5278欧美一区二区三区| 日韩一级片在线免费观看| 麻豆精品国产| 在线视频一区二区三| 警花观音坐莲激情销魂小说| 日本高清中文字幕二区在线| 加勒比av一区二区| 97激碰免费视频| 久久久久久久久久97| 欧美大片网址| 日韩一区二区免费视频| 国产免费成人在线| 国产美女福利在线观看| 中文字幕欧美三区| 精品久久久久久综合日本| 亚洲无码精品在线观看| 久久国产精品亚洲77777| 久久久久999| 国产sm调教视频| 欧美18xxxx| 91精品国产福利| 欧美丰满熟妇xxxxx| h片在线观看视频免费| 综合网在线视频| 日韩高清在线播放| 手机福利在线| www.99精品| a级国产乱理论片在线观看99| 一级特黄aa大片| 玖玖精品视频| 热99在线视频| 中文字幕精品三级久久久| 欧美特黄视频| 久久99久久99精品免观看粉嫩| 免费一级黄色录像| 九九亚洲精品| 亚洲美女精品成人在线视频| 91精品啪在线观看国产| 538任你躁精品视频网免费| 欧美精品久久天天躁| 美女网站视频黄色| 99蜜月精品久久91| 欧美在线短视频| 精品久久久噜噜噜噜久久图片 | 波多野结衣不卡| 一区二区三区四区五区在线 | www.99re7.com| 欧美在线看片| 欧美高跟鞋交xxxxhd| 黄视频网站免费看| 羞羞答答成人影院www| 中文字幕综合一区| 国产福利在线导航| 图片区亚洲欧美小说区| xvideos亚洲人网站| 91麻豆精品国产91久久综合| 超碰成人久久| 色天天综合狠狠色| 紧身裙女教师波多野结衣| 午夜久久免费观看| 欧美第一淫aaasss性| 久久午夜无码鲁丝片午夜精品| 欧美日韩国产色综合一二三四| 欧美激情欧美激情| 久久国产视频一区| 免费日本视频一区| 亚洲一区二区三区四区视频| 亚洲精品国产精| 99久久免费视频.com| 欧美一区二区高清在线观看| 成人不用播放器| 亚洲三级电影网站| 久艹视频在线免费观看| 欧洲av不卡| 欧美高清视频不卡网| 久久av一区二区三| 蜜桃精品噜噜噜成人av| 中文字幕一区二区三区电影| 久草视频免费播放| 美女精品网站| 亚洲自拍偷拍福利| 男人的天堂在线视频| 中文字幕在线观看一区| 欧美激情亚洲天堂| 主播大秀视频在线观看一区二区| 91精品国产欧美日韩| 免费看毛片的网站| 欧美3p在线观看| 97人人模人人爽人人喊中文字| 日韩av免费播放| 国产精品911| 欧洲视频一区二区三区| 尤物yw193can在线观看| 一本高清dvd不卡在线观看| www.com久久久| 国产伦精品一区二区三区在线播放| 亚洲欧美一区二区三区久久| …久久精品99久久香蕉国产| 国产视频一区二区三区在线播放| 亚洲国产综合在线观看| 亚洲精品一线二线三线| 人人艹在线视频| 亚洲精品社区| 成人有码视频在线播放| 亚洲欧美日韩精品永久在线| 1000精品久久久久久久久| 国产精品国产亚洲精品看不卡| 日韩一级二级| 欧美精品一区二| 尤物在线免费视频| 三级久久三级久久| 动漫精品视频| 浪潮av一区| 日本精品一级二级| 黄色性视频网站| 久久久国产精品| 国产精品com| 无码国产精品96久久久久| 亚洲天堂av老司机| 亚洲天堂av线| 综合国产视频| 久久免费观看视频| 国产男女猛烈无遮挡| 中文字幕av一区二区三区免费看| 精品久久一二三| 99a精品视频在线观看| 久久亚洲精品成人| 国产一区二区三区四区视频| 国产欧美日韩三区| 国产极品美女高潮无套久久久| 极品尤物一区| 久久久久亚洲精品成人网小说| 91超薄丝袜肉丝一区二区| 久久夜色精品国产欧美乱极品| 日本福利视频一区| 成人台湾亚洲精品一区二区 | 亚洲色图 激情小说| 久久精品欧洲| 欧美亚洲精品日韩| 都市激情亚洲一区| 亚洲午夜av久久乱码| 久久久久久在线观看| 91丨porny丨国产入口| 免费一级特黄特色毛片久久看| 超碰在线成人| 97精品国产97久久久久久春色| 日本成人动漫在线观看| 性做久久久久久久久| 伊人影院在线观看视频| 欧美日韩精选| 国产伦精品一区二区三区| 国产99re66在线视频| 精品国产一区二区精华| 国产第100页| www.欧美日韩| 精品www久久久久奶水| av直播在线观看| 不卡中文一二三区| 成人久久久久爱| av小次郎在线| 欧美精品一区二区三区蜜桃| 久久一区二区三| 不卡视频在线看| 青青草原成人网| 精品视频99| 亚洲bt欧美bt日本bt| 女同视频在线观看| 日韩成人小视频| 乱子伦一区二区三区| 国产精品久久久久三级| 国产成人美女视频| 国产一区欧美| 欧美日韩亚洲免费| 婷婷精品久久久久久久久久不卡| 久久精品视频在线播放| 成人免费公开视频| 在线免费视频一区二区| 青青操在线视频观看| 成人性生交大合| 免费在线观看毛片网站| 亚洲欧洲日韩| 精品伦理一区二区三区| 日本欧美韩国| 欧美黑人巨大xxx极品| 美女做暖暖视频免费在线观看全部网址91 | 欧美一区二区三区婷婷月色 | 91成人免费在线| 成人免费视频国产免费观看| 99视频在线观看一区三区| 超碰在线97免费| 欧美视频不卡| 日韩亚洲欧美精品| 成人动态视频| 国产裸体写真av一区二区| av影院在线| 中文字幕一区电影| 无套内谢的新婚少妇国语播放| 欧美亚洲一区二区在线| 欧美日韩免费一区二区| 国产亚洲午夜高清国产拍精品| 国产老头和老头xxxx×| 视频一区二区不卡| av在线免费观看国产| 欧美日韩黑人| 精品国产一区二区三区日日嗨| 免费视频成人| 国产成人福利网站| av资源中文在线| 欧美成人午夜免费视在线看片| 久草福利在线视频| 亚洲国产精品电影在线观看| 91成品人影院| 欧日韩精品视频| 国产精品久久久久久久久久久久久久久久久 | 欧美精品一区二区三区久久| 精品视频一区二区三区在线观看| 国产91色在线|免| 9999在线视频| 欧美成人精品影院| 日本视频在线播放| 亚洲一二在线观看| 日韩大片b站免费观看直播| 日韩欧美中文字幕精品| 91国内精品视频| 欧美三级三级三级| 久操视频在线免费观看| 大荫蒂欧美视频另类xxxx| 久操视频免费在线观看| 亚洲精选视频在线| 久久国产精品国语对白| 国产精品久久久久久久久免费桃花 | 麻豆传传媒久久久爱| 日韩午夜在线电影| 日韩欧美精品免费| 国内一区二区三区| 国产资源在线免费观看| 欧美日本一区| 日韩欧美视频免费在线观看| 久久精品国内一区二区三区水蜜桃 | 一区二区三区久久久| 日本在线一级片| 亚洲精品videosex极品| 人妻少妇精品一区二区三区| 自拍偷拍亚洲综合| 九九精品视频免费| 亚洲精品国产高清久久伦理二区 | 图片区小说区国产精品视频 | 日本乱码高清不卡字幕| 黄色av网站免费观看| 91福利国产精品| 成人黄色片在线观看| 欧美日本视频在线| 亚洲一区二区视频在线播放| 欧美疯狂做受xxxx富婆| 国产精品怡红院| 日韩免费成人网| 日本精品一区二区在线观看| 亚洲精品久久7777777| 欧美男男同志| 在线看片第一页欧美| 蜜桃视频在线观看免费视频网站www| 日韩最新免费不卡| 色黄网站在线观看| 91精品国产777在线观看| 偷拍精品精品一区二区三区| 国产精品普通话| 深夜福利一区| 欧美精品在线一区| 97久久夜色精品国产| 青青青青在线视频| 国产精品视区| 成 人 黄 色 小说网站 s色| 国产精品一卡二卡在线观看| 香港三级日本三级| 欧美高清在线视频| 九九热只有精品| 一本色道久久综合亚洲91| 在线中文字幕网站| 精品久久久久久久久久久院品网| 欧美捆绑视频| 蜜月aⅴ免费一区二区三区| 高清毛片在线观看| 成人黄色免费看| 精品素人av| 一区二区精品国产| 99国产精品久久久久久久成人热| 国产免费视频传媒| 成人一级片网址| www..com.cn蕾丝视频在线观看免费版| 亚洲天堂福利av| 国产性生活视频| 精品美女一区二区| av在线天堂播放| 91精品国产网站| 91麻豆精品国产综合久久久| 久久爱av电影| 亚洲天堂一区二区三区四区| 116极品美女午夜一级| 国产乱码精品一区二区三区五月婷| 好吊色视频一区二区三区| 国产精品福利一区| www.国产com| 日韩午夜av电影| 1024国产在线| 欧美一级电影免费在线观看| 久久国产精品美女| 亚洲激情啪啪| 性欧美长视频| 尤物网站在线观看| 亚洲美女免费在线| 中文字幕一区二区人妻| 日韩av影视在线| 欧美日韩经典丝袜| 91久久精品国产91久久性色| 国产免费久久| 北条麻妃在线视频观看| 国产成人精品三级麻豆| www.99re6| 欧美在线你懂得| 黄网站在线观看| 欧美在线免费视频| 草草视频在线一区二区| 日韩精品手机在线观看| 91av资源在线| 欧美日韩美女在线观看| 99热这里只有精品在线| 色哟哟网站入口亚洲精品| 亚州一区二区三区| 欧美久久久久久久| 国产毛片久久| 熟妇高潮精品一区二区三区| 午夜一区二区三区在线观看| 亚洲免费视频网| 久久97久久97精品免视看| 电影一区二区三区久久免费观看| 亚洲一卡二卡三卡| 日本视频一区二区三区| 欧美熟妇激情一区二区三区| 色综合天天综合| 日本韩国精品一区二区| 日本电影亚洲天堂| 免费看成人吃奶视频在线| 激情网站五月天| 久久免费电影网| 无码人妻丰满熟妇精品| 国产亚洲欧美另类中文| 久久久免费人体| 在线免费观看成人网| 激情久久五月天| 久久久久久久九九九九| 亚洲成人三级在线| 免费看男女www网站入口在线| 麻豆av一区二区三区| 麻豆精品91| 国产福利在线导航| 日韩欧美一区在线观看| 免费网站在线观看人| 国产一区二区三区四区五区加勒比| 亚洲激情另类| 天天躁日日躁aaaa视频| 欧美午夜寂寞影院| 国产精品剧情一区二区在线观看 | 中文字幕在线网址| www国产精品com| 99这里只有精品视频| 成年人视频网站免费观看| 日本一区二区三区四区| 国产毛片在线视频| 久久免费福利视频| 精品国精品国产自在久国产应用| 依人在线免费视频| 亚洲精品视频在线观看免费 | 在线免费观看羞羞视频一区二区| **精品中文字幕一区二区三区| 国产尤物av一区二区三区| 97久久超碰国产精品| 国产女优在线播放| 欧美黑人性生活视频| 欧美激情在线精品一区二区三区| 久久99爱视频| 亚洲国产视频直播| 国产小视频免费在线观看| 91亚洲va在线va天堂va国| 亚洲天堂偷拍| 一级二级黄色片| 亚洲精品一区二区在线观看| 超碰这里只有精品| 免费在线看黄色片| 久久久久亚洲蜜桃| 国产黄色片免费观看| 日本精品久久久| 91精品91| 一区二区伦理片| 亚洲高清免费观看高清完整版| 中韩乱幕日产无线码一区| www.九色.com|