はじめに オライリーから出版されている名著「プログラミングTypeScript」を読んで、4章:関数のジェネリック型に関する部分の要約を備忘録としてまとめている。実務で使えるベストプラクティスではなく、言語仕様の理解に焦点をあてているため、ジェネリックの網羅的な理解の助けになればと思う。 一般にTypeScriptのジェネリックはジェネリクス(generics)と呼ばれることが多いが、オライリー本ではジェネリックと表記していたためこの名称を利用している。また、その他一般的に使われている用語と書籍で使われている用語に差があるため適宜一般的な用語に寄せて書いている。また、今回はインターフェースやクラスのジェネリックに関しては言及していない。 ジェネリックとは ジェネリックは一言で述べると 「型の安全性とコードの共通化を両立するためのもの」 である。 ある関数を定義するとき、どのような型を期待す