👻
分割代入で null に対するデフォルト値の型推論がへん
以下のコードの 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