ページへ戻る
− Links
印刷
TypeScriptのジェネリック
の編集 ::
NJF Wiki
xpwiki
:
TypeScriptのジェネリック
の編集
# raf578a5 の編集
ページ内容:
*ジェネリックの概要 [#raf578a5] ジェネリックとは型の変数のような物。総称型、パラメタ付型などとも呼ばれる。 たとえば引数と戻り値の関数を考える。number型なら、 function testFunction(n:number):number{ return n; } となる。 引数と戻り値が同じという条件のみ課したいが、 function testFunction(n:any):any{ return n; } としてしまうとそうはならない。 そこで、ジェネリックを使う。 function testFunction<T>(n:T):T{ return n; } 使うときは、「<T>」の部分に型を入れる。 console.log(testFunction<number>(2)); // => 2 console.log(testFunction<string>("string")); // => string つまり、あたかも型を変数のように扱っている。 この例だとあまりありがたみが無い。しかし、次のようにたとえば配列の三番目(つまり添え字が2)の要素を返す関数を考えてみると利点がわかる。 function getThird<T>(n:T[]):T{ return n[2]; } console.log(getThird<number>([1,2,3,4])); // => 3 console.log(getThird<string>(["one","two","three","four"])); // => three このような配列の要素を返したり、引数の配列を返したりする場合には、ジェネリックは任意の型に対して整合性をチェックできる。 二つ以上のジェネリックを定義するときは、「<>」の中にコンマ区切りで列記する function testFunc<U,T>(U,T):U{ //何か処理 }
編集の要約:
Q & A 認証:
ページ更新時は次の質問にお答えください。(プレビュー時は必要ありません)
Q:
「大阪」の読みがな?(ひらがなで)
A:
お名前:
タイムスタンプを変更しない
テキスト整形のルールを表示する
[1]
Links list
(This host) = https://njf.jp
(This host)
/cms/modules/xpwiki/?cmd=edit&help=true&page=TypeScript%E3%81%AE%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%AA%E3%83%83%E3%82%AF