JavaScript 空值合併
JavaScript中一個強大的運算子是 空值合併 運算子: ??。
您是否曾經使用 || 來在變數為空或未定義時設置默認值?
例如,像這樣:
1 | const myColor = color || 'red' |
而現在,空值合併將取代其中的 ||:
1 | const myColor = color ?? 'red' |
這個運算子有什麼用處呢?
當使用 || 提供回退值時,實際上存在著一系列隱藏的錯誤。
簡單來說,|| 將值處理為假值,而 ?? 則將值處理為空值(因此得名)。
這意味著使用 ||,如果第一個操作數為 undefined、null、false、0、NaN 或 '',則會對第二個操作數進行評估。
而??則只將此列表限制為undefined和 null。
tags: [“nullish coalescing”, “JavaScript”, “operator”, “fallback value”]