JavaScript中一個強大的運算子是 空值合併 運算子: ??

您是否曾經使用 || 來在變數為空或未定義時設置默認值?

例如,像這樣:

const myColor = color || 'red'

而現在,空值合併將取代其中的 ||

const myColor = color ?? 'red'

這個運算子有什麼用處呢?

當使用 || 提供回退值時,實際上存在著一系列隱藏的錯誤。

簡單來說,|| 將值處理為假值,而 ?? 則將值處理為空值(因此得名)。

這意味著使用 ||,如果第一個操作數為 undefinednullfalse0NaN'',則會對第二個操作數進行評估。

??則只將此列表限制為undefinednull