TypeScript リテラルをFilterする方法
文字リテラルのUnionから特定のリテラルだけ抽出したい場合。
例えば以下のような文字リテラルのUnion型があるとする。
type BeforeFilter = 'hoge' | 'foo' | 'poge' | 'poo'
poge と poo だけにしたいとする。以下のようにFilter型をつくり、ジェネリクスにフィルター対象の型とフィルターするキーの型を渡す。
type Filter<T, U> = T extends U ? T : never
type AfterFilter = Filter<BeforeFilter, 'poge' | 'poo'>
ディスカッション
コメント一覧
まだ、コメントがありません