TypeScript-generiska: cirkulära eller självbegränsade typvariabler möjliga?
TypeScript verkar inte tillåta ?-jokertecken i generiska typinstanseringar och tillåter inte heller att man refererar till själva typvariabeln, så hur skulle följande exempel kunna skrivas korrekt?
class Collection<I extends Item<Collection<I>>> {
}
class Item<C extends Collection<Item<C>>> {
}
Svar #1
Detta kan komma i 1.5 eller 1.6. De har precis sammanslagit en massa PR:er för cirkulära referenser. Till exempel: https://github.com/Microsoft/TypeScript/issues/2823