鉴于:
class BaseClass<T extends string | number> { public myFunc(): T = {} }
我可以通过以下方式实现专业化:
class StringBaseClass extends BaseClass<String> { }
并创建一个新实例并myFunc
通过以下方式调用:
new StringBaseClass().myFunc()
我不知道为什么,但我一直认为你可以通过某种类型别名来实现这种专业化,这种类型别名是类型擦除的,它实际上并没有创建一个全新的类类型,但仍允许我创建StringBaseClass
这个功能存在吗?(也许我记得另一种语言 - 也许是 Scala?)