Devsway

日々の記録とか記憶とか。


いきさつ


これがいまいちわからない。。


ジェネリックの意味


汎用とか、後発的、という意味です。



基本


<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をこうやって使えばいいのね!!


参考


https://dev.to/micahriggan/typescript-generics-c8b




カテゴリー

オレオレIT用語辞典