LoginSignup
0
1

TypeScriptで学ぶジェネリクスの基礎

Posted at

はじめに

ジェネリクスは非常に強力な機能の一つです。この記事では、TypeScriptでジェネリクスの基本的な概念とその使い方について解説します。

ジェネリクスとは何か?

ジェネリクスは、データ型や関数の動作をパラメータ化する仕組みです。これにより、汎用的なコードを作成し、異なる型や処理に対して再利用性の高いコードを記述することができます。

ジェネリクスの基本構文

ジェネリクスを使用するための基本的な構文は次の通りです。

function functionName<T>(param: T): T {
    // ジェネリクスを使用したコード
    return param;
}

ここで、<T> は型パラメータを示し、functionName 関数は T 型のパラメータ param を受け取り、同じ型 T を返します。

ジェネリクスの利点

ジェネリクスを使用することで、以下のような利点があります。

  1. 汎用的なコード: 特定の型に依存しない汎用的なコードを記述できる
  2. 再利用性の向上: 異なる型や処理に対して同じコードを再利用できる
  3. 型安全性の確保: コンパイル時に型の整合性が確認されるため、型安全性が向上する

実践例: クラスでのジェネリクスの活用

以下は、ジェネリクスを使用したクラスの例です。

class Container<T> {
    value: T;

    constructor(value: T) {
        this.value = value;
    }

    getValue(): T {
        return this.value;
    }
}

let numberContainer = new Container<number>(42);
let stringValue = numberContainer.getValue(); // stringValue の型は number

ここでは、Container クラスがジェネリクスを使用しています。<T> の部分で型パラメータ T を指定し、value プロパティと getValue メソッドの型を T に依存させています。インスタンス化する際に具体的な型を指定することで、異なる型のデータを保持するコンテナを作成できます。

ジェネリクスを使用することで、コードの柔軟性や再利用性を高めることができます。特に、汎用的なデータ構造やアルゴリズムを実装する際に効果的です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1