generated at
TypeScriptのbuilt-in types


objectに対して、特定のkeyを、抜き取ったり、除外したりする
T から K がkeyなものを抜き取る
型制約がないが、 T は普通はobject
ts
type A = Pick<{ a: string; b: string }, 'a'>; // {a: string}
K に指定したものを除外する
ts
type A = Omit<{ a: string; b: string }, 'a'>; // {b: string}



union型に対して、特定のkeyを、抜き取ったり、除外したりする
U G の間で共通しているunion型を取り出す
U - E をやってる感じ
これらは別にunion型しか引数に取らないわけではないが、基本的にはunion型を取ると考えて良さそうmrsekut



Tのプロパティの型を全てrequiredにする



Tのプロパティの型を全てreadonlyにする