型の再利用
TypeScriptでは型から別の型を導き出す機能があります。既存の型を再度利用して、新たな型を生み出すことを本書では「型の再利用」と呼ぶことにします。
#
型の再利用のメタファー多くのプログラミング言語では、変数を処理して別の変数を導き出せます。たとえば、あるオブジェクトのキーの配列が欲しいとき、キーの配列を別途宣言してもよいです。しかし、オブジェクトからキーを導きだしたほうが変更に強いコードになります。
typescript
const obj = { a: 1, b: 2, c: 3 };const keys1 = ["a", "b", "c"];const keys2 = Object.keys(obj); // keys1より保守性が高い
typescript
const obj = { a: 1, b: 2, c: 3 };const keys1 = ["a", "b", "c"];const keys2 = Object.keys(obj); // keys1より保守性が高い
上は変数の再利用の例です。TypeScriptには変数の再利用の型バージョンがあります。それが型の再利用です。たとえば、あるオブジェクト型からキーの型を導き出すことができます。
typescript
type Obj = { a: string; b: string; c: string };type Keys = keyof Obj;//=> "a" | "b" | "c"
typescript
type Obj = { a: string; b: string; c: string };type Keys = keyof Obj;//=> "a" | "b" | "c"
型の再利用とは、変数の再利用のメタファーなのです。