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