javascript - parcourir - TypeScript: Création d'un tableau de conteneur typé vide




tableau d'objet javascript (2)

Je crée un jeu de logique simple appelé "Three of a Crime" dans TypeScript.

Lorsque j'essayais de pré-allouer un tableau typé en TypeScript, j'ai essayé de faire quelque chose comme ceci:

var arr = Criminal[];

qui a donné l'erreur "Vérifier le format du terme d'expression".

a également essayé de le faire

var arr : Criminal = [];

et cela a produit "ne peut convertir aucun [] en" criminel "

Quelle est la façon de faire 'TypeScript'?

https://code.i-harness.com


Je sais que c'est une vieille question mais j'ai récemment fait face à un problème similaire qui n'a pas pu être résolu de cette façon, car j'ai dû retourner un tableau vide d'un type spécifique.

j'avais

return [];

[] était de type Criminal[] .

Ni return: Criminal[] []; ni return []: Criminal[]; travaillé pour moi.

À première vue, je l'ai résolu en créant une variable typée (comme you correctement signalé) juste avant de le renvoyer, mais (je ne sais pas comment fonctionnent les moteurs JavaScript) cela peut créer des surcharges et c'est moins lisible.

Pour la rigueur, je rapporterai cette solution dans ma réponse aussi:

let temp: Criminal[] = [];
return temp;

Finalement, j'ai trouvé le cast typeScript, ce qui m'a permis de résoudre le problème de manière plus concise et plus lisible (et peut-être efficace):

return <Criminal[]>[];

J'espère que cela aidera les futurs lecteurs!


Le problème de la pré-allocation correcte d'un tableau typé dans TypeScript a été quelque peu obscurci à cause de la syntaxe littérale du tableau, donc ce n'était pas aussi intuitif que je le pensais.

La bonne façon serait

var arr : Criminal[] = [];

Cela vous donnera un tableau vide correctement typé stocké dans la variable 'arr'

J'espère que cela aide les autres!





typescript