五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

空值合并運(yùn)算符(??)

2022-10-11 10:26 作者:doubleyong  | 我要投稿

今天給大家分享空值合并運(yùn)算符(??)



官方在 ES2020 版本里就出了一個(gè)叫“空值合并運(yùn)算符”的東西,官方的解釋是:


空值合并操作符(??)是一個(gè)邏輯操作符,當(dāng)左側(cè)的操作數(shù)為?null?或者?undefined?時(shí),返回其右側(cè)操作數(shù),否則返回左側(cè)操作數(shù)。

mdn



語法:


????leftExpr ?? rightExpr



應(yīng)用1:為常量提供默認(rèn)值

使用空值合并運(yùn)算符為常量提供默認(rèn)值,保證常量不為?null?或者?undefined。




應(yīng)用2:為變量賦默認(rèn)值

如果想為一個(gè)變量賦默認(rèn)值,通常的做法是使用邏輯或運(yùn)算符(||)


然而,由于?||?是一個(gè)布爾邏輯運(yùn)算符,左側(cè)的操作數(shù)會(huì)被強(qiáng)制轉(zhuǎn)換成布爾值用于求值。任何假值(0,?'',?NaN,?null,?undefined)都不會(huì)被返回。這導(dǎo)致如果你使用0,''NaN作為有效值,就會(huì)出現(xiàn)不可預(yù)料的后果。如下:


空值合并運(yùn)算符可以避免這種陷阱,其只在第一個(gè)操作數(shù)為null 或 undefined 時(shí)(而不是其它假值)返回第二個(gè)操作數(shù):





應(yīng)用3:短路

與 OR 和 AND 邏輯運(yùn)算符相似,當(dāng)左表達(dá)式不為 null 或 undefined 時(shí),不會(huì)對右表達(dá)式進(jìn)行求值。



應(yīng)用4:不能與 AND 或 OR 運(yùn)算符共用

將 ?? 直接與 AND(&&)和 OR(||)運(yùn)算符組合使用是不可取的。(譯者注:應(yīng)當(dāng)是因?yàn)榭罩岛喜⑦\(yùn)算符和其他邏輯運(yùn)算符之間的運(yùn)算優(yōu)先級/運(yùn)算順序是未定義的)這種情況下會(huì)拋出 SyntaxError 。


但是,如果使用括號來顯式表明運(yùn)算優(yōu)先級,是沒有問題的:



應(yīng)用5:與可選鏈?zhǔn)竭\(yùn)算符(?.)的關(guān)系

空值合并運(yùn)算符針對 undefined 與 null 這兩個(gè)值,可選鏈?zhǔn)竭\(yùn)算符(?.) 也是如此。在這訪問屬性可能為 undefined 與 null 的對象時(shí),可選鏈?zhǔn)竭\(yùn)算符非常有用。



茍有恒?,?何必三更眠五更起

關(guān)注我,一起學(xué)習(xí)吧



圖片


空值合并運(yùn)算符(??)的評論 (共 條)

分享到微博請遵守國家法律
科尔| 渝中区| 临高县| 承德市| 根河市| 宁蒗| 花莲市| 达尔| 富裕县| 余姚市| 县级市| 西盟| 德保县| 连山| 文昌市| 罗山县| 贵州省| 铁岭县| 津南区| 乃东县| 砀山县| 丽水市| 大田县| 吉安市| 沈丘县| 雅安市| 津南区| 沅江市| 丰都县| 满城县| 文昌市| 廊坊市| 察哈| 当阳市| 常德市| 安阳市| 濮阳县| 金门县| 巴林右旗| 靖西县| 赣州市|