【TypeScript】2つのオブジェクトのプロパティをマージした型を定義する
やりたいこと
上記のように、2つのオブジェクト(TypeA
とTypeB
)のプロパティをマージした型を定義したい。
ちなみに上記のようにIntersection(交差)型を使用することで実現できないことはないがこれは厳密にはマージされた型ではないので、純粋にマージした型を定義したい。
解決法
Merge
typeを独自に定義keyof
とin
を使い、交差型のkeyとvalueを抽出する
- 交差型を
Merge
で包む
参考