Menu
Coddy logo textTech

ジェネリックインターフェース

CoddyのJavaScriptジャーニー「Introduction To TypeScript」セクションの一部。レッスン 61/73。

generic 関数を作成できるのと同様に、generic インターフェースも作成できます。これにより、特定のプロパティの型を柔軟かつ再利用可能に保ちながら、オブジェクトの構造を定義できます。

同じ型パラメーター構文を using して generic interface を作成する方法は次のとおりです。

interface Container {
  value: T;
  isEmpty: boolean;
}

インターフェース名の後にある <T> は、インターフェース定義全体で使用できる型パラメーターを作成します。この例では、value プロパティはインターフェースを使用するときに指定した型になり、isEmpty は固定の boolean 型のままです。

ジェネリック interface を使用する場合は、山括弧内に具体的な型を指定します。

const stringContainer: Container = {
  value: "hello",
  isEmpty: false
};

const numberContainer: Container = {
  value: 42,
  isEmpty: false
};
challenge icon

チャレンジ

簡単

任意の型のデータと成功情報を保持できる、generic インターフェース Result を作成してください。

インターフェースには、次の2つのプロパティを持たせてください。

  • 型が booleansuccess
  • 型が T(generic 型パラメーター)の data

generic インターフェースを使用して、次のオブジェクトを作成してください。

  • 型が Result<string> で、success: true および data: "Operation completed" を持つ stringResult
  • 型が Result<number> で、success: true および data: 42 を持つ numberResult
  • 型が Result<boolean> で、success: false および data: false を持つ booleanResult
  • 型が Result<string[]> で、success: true および data: ["item1", "item2", "item3"] を持つ arrayResult

次の処理を行う、processResult という名前の generic 関数を作成してください。

  • generic 型パラメーター T を使用する
  • 型が Result<T> のパラメーター result を1つ受け取る
  • 文字列メッセージを返す
  • successtrue の場合、"Success: [data]" を返す
  • successfalse の場合、"Failed: [data]" を返す

次の出力を表示してください。

  • stringResult を使って processResult を呼び出した結果を表示する
  • numberResult を使って processResult を呼び出した結果を表示する
  • booleanResult を使って processResult を呼び出した結果を表示する
  • arrayResult を使って processResult を呼び出した結果を表示する
  • stringResult.data を表示する
必要な出力形式: [翻訳したコンテンツ]

自分で試してみよう

// TODO: ここにコードを書いてください

// ジェネリックな Result インターフェースを作成する


// Result インターフェースを使用してオブジェクトを作成する


// ジェネリックな processResult 関数を作成する


// 必要な出力を表示する
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Introduction To TypeScriptのすべてのレッスン

自分で練習してみよう: JavaScriptオンラインコンパイラ