在 TypeScript 中扩展另一种类型的任何类型的参数?

Ant*_*vič 4 generics types casting type-conversion typescript

我正在使用 TypeScript 创建一个 HTML5 游戏,并且我想自动渲染 GameObject 的所有子对象。但是有许多不同的类可以扩展 GameObject 类。我理想想要的是如下所示,其中数组中对象的类型可以是扩展 GameObject 类的任何类型。另外,我想避免类型转换和泛型,以及将所有可用类型指定为联合类型。

protected children: Array<any extends GameObject> = [];

这是否可以以某种方式实现,或者我应该尝试使用其他方式来实现?

bas*_*rat 8

下列:

\n
protected children: Array<GameObject> = [];\n
Run Code Online (Sandbox Code Playgroud)\n

会自动接受任何扩展GameObject

\n

更多的

\n

请参阅类型兼容性

\n

额外提示

\n

按照惯例,人们用 TypeScriptGameObject[]代替Array<GameObject>\xe2\x9d\xa4\xef\xb8\x8f

\n

  • TSLint 抱怨第一个,但第二个工作正常。谢谢 ! (3认同)