|
1: 2016-03-19 (土) 06:48:49 njf |
| + | ジェネリックとは型の変数のような物。 |
| + | たとえば引数と戻り値の関数を考える。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 |
| + | |
| + | つまり、あたかも型を変数のように扱っている。 |
Counter: 2000,
today: 1,
yesterday: 0