TypeScriptのジェネリックとは?
いきさつ
これがいまいちわからない。。
ジェネリックの意味
汎用とか、後発的、という意味です。
基本
<T>は型の変数みたいなもんです。 なんらかの型を使うことだけ決めておいて、 インスタンス化するときにその型を決めることができます。
使い方の例
一番わかりやすい例としてはListを使うときの例でしょう!
// <T>がジェネリクスです
class List<T> {
private data: T[];
constructor(...elements: T[]) {
this.data = elements;
}
add(t: T) {
this.data.push(t);
}
}
let numbers = new List<number>(1, 2, 99);
numbers.add(11);
感想
でもこれを使うときって相当抽象的なClassを書くときとかでしか使えないよな〜? いまいち使いみちがわからない。 今度なんかのソースを見てみたい。
-> やっぱそうみたい。 anyにできるところをジェネリクスに置き換えていく・・・みたいな目安?
fooMedthod(bar:ほにゃらら: keyof T){
console.log(bar);
}
keyofをこうやって使えばいいのね!!