- 534 名前:デフォルトの名無しさん [2020/03/01(日) 00:47:37 ID:D/Yz/cH7.net]
- TypeScriptのジェネリクスの高階カインド型サポートがいまいちなのは、
「ジェネリック型に入れられるのが具体型に限定されていること」で、 たとえば map をサポートするジェネリックインターフェースとして Mappable<f>を作るとする そのインターフェースを実装できるクラスはカインド1、つまりArray< >など 型引数を1個とるクラスだけにしたい けど、できない また、カインド Type -> Type -> Type の高カインド型に型1個入れたものは カインドType -> Type になってほしいけど、こういうこともできない たとえばkey-valueペアのMap<_, _>なんかは2階カインドだけど、 キータイプだけ指定した Map<string, _> を1階カインドと見なしてMappableを実装させたい(map はMapの各値を変換する関数になる) けど、これもできない
|
![](http://yomi.mobi/qr.gif)
|