Ich erstelle ein einfaches Logikspiel namens "Three of a Crime" in TypeScript.
Beim Versuch, ein typisiertes Array in TypeScript vorab zuzuweisen, habe ich Folgendes versucht:
var arr = Criminal[];
was den Fehler "Format des Ausdrucksbegriffs überprüfen" ergab.
versuchte es auch
var arr : Criminal = [];
und dies produzierte "kann keine [] in 'Criminal' konvertieren
Wie geht das mit TypeScript?
quelle
Das Problem der korrekten Vorbelegung eines typisierten Arrays in TypeScript war aufgrund der wörtlichen Syntax des Arrays etwas unklar, sodass es nicht so intuitiv war, wie ich zuerst dachte.
Der richtige Weg wäre
Dadurch erhalten Sie ein korrekt eingegebenes, leeres Array, das in der Variablen 'arr' gespeichert ist.
Hoffe das hilft anderen!
quelle
Ich weiß, dass dies eine alte Frage ist, aber ich hatte kürzlich ein ähnliches Problem, das auf diese Weise nicht gelöst werden konnte, da ich ein leeres Array eines bestimmten Typs zurückgeben musste.
ich hatte
wo
[]
warCriminal[]
typ.Weder
return: Criminal[] [];
nochreturn []: Criminal[];
für mich gearbeitet.Auf den ersten Blick habe ich es gelöst, indem ich kurz vor der Rückgabe eine typisierte Variable erstellt habe (wie Sie richtig berichtet haben), aber (ich weiß nicht, wie JavaScript-Engines funktionieren) kann es zu Overhead kommen und es ist weniger lesbar.
Aus Gründen der Gründlichkeit werde ich diese Lösung auch in meiner Antwort angeben:
Schließlich fand ich TypeScript-Typ-Casting, mit dem ich das Problem präziser und lesbarer (und möglicherweise effizienter) lösen konnte:
Hoffe das wird zukünftigen Lesern helfen!
quelle
Für den öffentlichen Zugriff wie folgt verwenden:
quelle