TypeScript のちょっと気になる動作
配列の要素にアクセスした場合に、その要素の型が狭まらないことがあります。
以下が例です。
type T1 = (number | undefined)[]
const myFunc = (arr: T1, index: number) => {
const result = arr[index] === undefined ? [] : arr[index]
return result // number | never[] | undefined
}
result が number | never[] 期待していたのですが、実際は number | never[] | undefined でした。
原因を確認中です。
最近のコメント