Параметр любого типа, который расширяет другой тип в TypeScript? - PullRequest
0 голосов
/ 11 июня 2019

Я создаю игру HTML5 с TypeScript и хочу автоматически отрисовать всех потомков GameObject.Но есть много разных классов, которые могут расширять класс GameObject.В идеале я хочу что-то вроде ниже, где тип объекта в массиве может быть любого типа, который расширяет класс GameObject.Кроме того, я бы хотел воздержаться от приведения типов и обобщений, а также указывать все доступные типы в качестве типов объединения.

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

Возможно ли это каким-либо образом или я долженпопытаться сделать это другими способами?

1 Ответ

2 голосов
/ 11 июня 2019

следующее:

protected children: Array<GameObject> = [];

Принимает автоматически все, что расширяет GameObject ?

Подробнее

См. Тип совместимости

Дополнительный совет

Традиционно люди, пишущие на TypeScript, пишут GameObject[] вместо Array<GameObject> ❤️

...