Dado:
class BaseClass<T extends string | number> { public myFunc(): T = {} }
Posso me especializar fazendo isso:
class StringBaseClass extends BaseClass<String> { }
e crie uma nova instância e chame myFunc
via:
new StringBaseClass().myFunc()
Não sei por que, mas sempre pensei que você poderia obter essa especialização por meio de algum tipo de alias de tipo que é apagado por tipo e que na verdade não cria um tipo de classe totalmente novo, mas ainda me permitiria criar instâncias deStringBaseClass
Essa funcionalidade existe? (Talvez eu esteja lembrando dela de outra linguagem - Scala talvez?)