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