最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)算符(??)的評論 (共 條)

分享到微博請遵守國家法律
灌南县| 新巴尔虎右旗| 阳江市| 平邑县| 襄樊市| 安仁县| 蓝田县| 施秉县| 亳州市| 宁波市| 江源县| 秦皇岛市| 兴仁县| 彩票| 鄂托克前旗| 巨野县| 宜黄县| 长春市| 龙游县| 望都县| 喀喇沁旗| 井冈山市| 多伦县| 双城市| 平凉市| 莒南县| 双桥区| 马龙县| 文山县| 米林县| 天水市| 双柏县| 聂荣县| 西充县| 山阳县| 深泽县| 库车县| 凤阳县| 玉溪市| 钦州市| 黄大仙区|