Pesquisa de site

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> ❤️

Artigos relacionados