Dev Study
TypeScript コース

17. interface の継承 extends

interface は extends を使って別の interface を継承できます。interface Dog extends Animal と書くと、Dog は Animal のプロパティをすべて引き継いだうえで、自分のプロパティを追加できます。

実務では「共通部分を持つ型がいくつもある」場面で使います。たとえば全データが持つ id と createdAt を Base にまとめ、User や Product がそれを extends すれば、共通部分の定義が一箇所に集まり、変更にも強くなります。

つまずきポイントは継承の方向です。extends した側(子)は元の interface(親)のプロパティも必須になります。「子は親のすべてを持つ + 追加分を持つ」と覚えましょう。

▶ サンプルコードを実行してみよう(自由に書き換えてOK)

TypeScript
公式ドキュメントで詳しく ↗