← TypeScript コース
17. interface の継承 extends
interface は extends を使って別の interface を継承できます。interface Dog extends Animal と書くと、Dog は Animal のプロパティをすべて引き継いだうえで、自分のプロパティを追加できます。
実務では「共通部分を持つ型がいくつもある」場面で使います。たとえば全データが持つ id と createdAt を Base にまとめ、User や Product がそれを extends すれば、共通部分の定義が一箇所に集まり、変更にも強くなります。
つまずきポイントは継承の方向です。extends した側(子)は元の interface(親)のプロパティも必須になります。「子は親のすべてを持つ + 追加分を持つ」と覚えましょう。
▶ サンプルコードを実行してみよう(自由に書き換えてOK)
TypeScript