日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

谈谈 JavaScript 中的空值合并操作符 Nullish coalescing operator

發布時間:2023/12/19 javascript 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 谈谈 JavaScript 中的空值合并操作符 Nullish coalescing operator 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

空值合并運算符 (??) 是一個邏輯運算符,僅當左側(第一個參數)為空或未定義時才返回運算符(第二個參數)的右側。 在所有其他情況下,它返回第一個參數。

下列這兩行測試代碼,分別輸出 Hello 和 132

因此,正如您在上面的示例中看到的那樣,返回 Hello 是因為 undefined 位于運算符的左側。 如果 null 代替 undefined,結果將是相同的。 在第二個示例中,如果第一個參數中存在除 null 或 undefined 以外的任何內容,則操作員不會檢查第二個參數,而是會立即打印第一個值。

在空值合并操作符被加入 ECMAScript 2020 之前,每當我們想為變量賦予默認值時,我們使用 OR (||) 邏輯運算符。 但是使用 OR 運算符有一些潛在的問題: || 運算符并不區分 false、0、“” 和 null/undefined。 所有這些都被 OR 運算符判定為返回 false,所以如果它遇到任何這些作為第一個參數,那么我們將得到第二個參數作為結果,這使得 OR 運算符的可信度降低。

下圖顯示了 ?? 和 || 這兩個操作符的差異:

遇到 0,|| 會返回右邊的操作數 100,而因為 0 既不是 undefined 也不是 null,因而 0 ?? 100 會返回 0.

關于 ?? 的優先級問題

?? 運算符僅比 MDN 文檔中給出的優先級表中的 OR 運算符低一位。 這意味著它將在 = 和三元運算符之前以及 + 和 * 等運算符之后進行評估。

為了提高代碼可讀性,在使用 ?? 時請添加小括號:

SAP Spartacus 的實現中也有大量 ?? 的用法,如下圖所示:

更多Jerry的原創文章,盡在:“汪子熙”:

總結

以上是生活随笔為你收集整理的谈谈 JavaScript 中的空值合并操作符 Nullish coalescing operator的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。