👻

分割代入で null に対するデフォルト値の型推論がへん

2024/09/11に公開

以下のコードの a1 の型が 1 | null になるのなんで?(ブルーベリー本だと null になるって書いてあるのに・・・)

意味的にも null にデフォルト値は適用されないので型推論の結果としては null になって欲しい感じがする。

const v1 = { a1: null };
const { a1 = 1 } = v1
console.log(a1) // null と出力される, a1: 1 | null


const v2 = { a2: undefined };
const { a2 = 1 } = v2
console.log(a2) // 1 と出力される, a2: 1

わからない・・・。

Discussion