用語集に戻る
Java中級

interface / type

一言で言うと

interfaceはオブジェクトの形を定義(拡張可能)。

もう少し詳しく

一言で言うと

interfaceはオブジェクトの形を定義(拡張可能)。typeはあらゆる型に別名をつけられる(ユニオン型等)。オブジェクト定義にはどちらも使える。

もう少し詳しく

interfaceはオブジェクトの形を定義(拡張可能)。typeはあらゆる型に別名をつけられる(ユニオン型等)。オブジェクト定義にはどちらも使える。

TypeScript 固有の重要な概念です。interface は宣言マージ(Declaration Merging)が可能で、外部ライブラリの型を後から拡張できます。type はユニオン型・インターセクション型・条件型など高度な型表現が可能で、オブジェクト以外の型にも別名をつけられます。

実務でどう使うか

  • React コンポーネント ── props 型は interface で定義し、ライブラリ側で宣言マージできるようにするのが慣例です

  • API レスポンス ── ユニオン型を持つレスポンス形式は type で定義します(例 type Result = Success | Failure

  • NestJS / Prisma ── NestJS の DI コンテナで注入するサービスの契約や、Prisma が生成するスキーマ型にも interface / type が多用されます

  • 関連する用語

    この用語を学べるコース

    この用語を実際に使ってみよう

    チョットデキルなら、5分のレッスンで実際にコードを書いて学べます。

    コース一覧を見る