国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

分享到微博請遵守國家法律
札达县| 姜堰市| 灌南县| 墨脱县| 万宁市| 阿合奇县| 甘南县| 夏邑县| 定边县| 汨罗市| 江安县| 邓州市| 泰安市| 海晏县| 汝阳县| 济南市| 玉田县| 清徐县| 历史| 舟曲县| 左权县| 中西区| 海晏县| 方城县| 南充市| 舟山市| 阜阳市| 上虞市| 上思县| 景泰县| 武夷山市| 荃湾区| 栾川县| 长海县| 广宁县| 噶尔县| 和平县| 新和县| 宁明县| 安溪县| 阿拉尔市|