Estou criando um jogo de lógica simples chamado "Três de um Crime" no TypeScript.
Ao tentar pré-alocar o tipo de matriz digitada no TypeScript, tentei fazer algo assim:
var arr = Criminal[];
que deu o erro "Verificar formato do termo da expressão".
também tentei fazer isso
var arr : Criminal = [];
e isso produzido "não pode converter nenhum [] em 'Criminal'
qual é a maneira 'TypeScript' de fazer isso?
fonte
O problema de pré-alocar corretamente uma matriz digitada no TypeScript foi um pouco obscurecido devido à sintaxe literal da matriz, portanto não foi tão intuitivo quanto eu pensava.
A maneira correta seria
Isso fornecerá um array vazio, digitado corretamente, armazenado na variável 'arr'
Espero que isso ajude os outros!
fonte
Sei que essa é uma pergunta antiga, mas recentemente enfrentei um problema semelhante que não pôde ser resolvido dessa maneira, pois tive que retornar uma matriz vazia de um tipo específico.
eu tinha
onde
[]
estavaCriminal[]
tipo.Nem
return: Criminal[] [];
nemreturn []: Criminal[];
trabalhou para mim.À primeira vista, resolvi criar uma variável digitada (como você relatou corretamente) antes de retorná-la, mas (não sei como os mecanismos JavaScript funcionam) ela pode gerar sobrecarga e é menos legível.
Para mais detalhes, também relatarei esta solução em minha resposta:
Eventualmente, encontrei a conversão de tipo TypeScript, o que me permitiu resolver o problema de uma maneira mais concisa e legível (e talvez eficiente):
Espero que isso ajude futuros leitores!
fonte
Para acesso público, use como abaixo:
fonte