generics - Parâmetro de qualquer tipo que estende outro tipo em TypeScript?
Estou criando um jogo HTML5 com TypeScript, e quero renderizar todos os filhos de um GameObject automaticamente. Mas existem muitas classes diferentes que podem estender a classe GameObject. O que eu idealmente quero é algo como abaixo, onde o tipo do objeto no array pode ser qualquer tipo que estenda a classe GameObject. Além disso, gostaria de evitar a conversão de tipos e genéricos, assim como especificar todos os tipos disponíveis como tipos de união.
protected children: Array<any extends GameObject> = [];Isso é possível de alguma forma ou eu deveria tentar fazer usando outros meios?
Resposta #1
O seguinte:
protected children: Array<GameObject> = [];
Aceitará automaticamente qualquer coisa que estenda GameObject 🌹
Mais
Ver compatibilidade de tipo
Dica Adicional
Convencionalmente, as pessoas que usam TypeScript escrevem GameObject[] em vez de Array<GameObject> ❤️
