概要 TypeScript の Utility Types を読むだけでは理解できないのがあったので触ってみた。 この記事では、Pick と Exclude、Omit の3つを触る。 TL;DR Omit は、Pick と Exclude を使って表現できる。 type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>> Pick<T, K> とは? T 型から K で選択したプロパティのみを取り出した新しい型を作る。 下記の例だと、T = User, K = 'id' | 'name' となる。 // interface でも可 type User = { id: number name: string age: number birthday: string } type PickedUser = Pick<User, '