⊗tsSpGnTV 30 of 37 menu

TypeScriptにおける型変数

ジェネリクスの概念をよりよく理解するために、 最初の関数、恒等関数を作成してみましょう。 この関数は、渡されたものと全く同じものを同じ型で返します。

まずは、個別に関数のバリアントを書いてみましょう。

パラメータとして数値を受け取り、数値を返す関数を書きます:

function func(data: number): number { return data; }

次に、パラメータとして文字列を受け取り、文字列を返す関数を書きます:

function func(data: string): string { return data; }

さて、これらすべてを1つの関数で行えるようにしたいと思います。 つまり、汎用化を実行したいのです。

そのためには、データ型を保持する型変数を使用します。 このような変数は、関数のパラメータを囲む丸括弧の前の山括弧内で宣言されます。 この変数にTという名前を付けて(任意の名前で構いません)宣言してみましょう:

function func <T>(ここにパラメータ) { return data; }

これにより、パラメータの型を格納し、その後で戻り値として指定するために使用できる変数Tが得られます。

パラメータの型をこの変数として指定しましょう:

function func <T>(data: T) { return data; }

これで、パラメータは任意の型で渡すことができ、その型は変数Tに保存されることになります。

次に、変数Tの値を関数の結果の指定として使用しましょう:

function func <T>(data: T): T { return data; }

これで、関数の結果の型はパラメータの型から得られるようになります。 確認してみましょう。

数値を指定して関数を呼び出します:

console.log( func(3) ); // 3を出力

文字列を指定して関数を呼び出します:

console.log( func('x') ); // 'x'を出力

2つの数値または2つの文字列をパラメータとして受け取る関数を作成してください。 関数は結果としてパラメータの合計を返す必要があります。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否