🌊

TypeScript5.5でfilterの型推論が強化されました

2024/06/21に公開

TypeScript5.5が正式リリースされました。

https://devblogs.microsoft.com/typescript/announcing-typescript-5-5/

今回のアップデートで特にうれしいのが配列にfilterをかけた時の型推論の強化です。

const f = (v: (number | null)[]) => v.filter((v) => v !== null);

こういう関数を書いた場合、これまで戻り値は(number | null)[]でしたが、TypeScript5.5ではnumber[]になります。

TypeScript5.4

TypeScript5.5

これまでは型を絞り込むために.flatMap((v) => (v === null ? [] : [v]))みたいな記述をしていましたが、素直に書けるようになって最高ですね。

Discussion