[筆記] JavaScript 語法之 Optional Chaining 和 Nullish Coalescing 合用

JavaScript 本身是屬於弱型別語言的關係,無可避免的會在執行環境時遇上 “TypeError: Cannot read property ‘……’ of undefined” 的錯誤。雖說開發時可以做安全檢查,但隨著物件資料層數的增加,會導致可讀性下降。這邊筆記下結合 Optional Chaining 和 Nullish Coalescing 兩個語法,來處理這類的問題。
javascript es6 logo


內容

Optional Chaining ?.

簡言之便是以 undefined 來取代拋出錯誤。執行時若運算子左邊的不為 null 或是 undefined,才會繼續往右邊執行,不然就直接回傳 undefined。

Nullish Coalescing ??

由於 JavaScript 有著自動轉換型別的情況,當你想利用 || 來給定預設值時,若 || 運算子的左邊為 0 ,那就失去了效果 ( 因為  0 會被判斷為 false )。Nullish Coalescing 可以判定當 ?? 左邊為 null 和 undefined 時,給定 ?? 右邊的預設值。

javascript-optional-chaining-nullish-coalescing-1


參考資料

1. 前端開發 🦏 來談 JavaScript 的 Optional Chaining 和 Nullish Coalescing (一)
2. Week8 – 不想再看到undefined的TypeError嗎,你可以試看看JS的Optional chaining operator [Server的終局之戰系列]

按讚加入粉絲團

延伸閱讀