In einer .d.ts
Datei, wie definiere ich ein Objekt mit String-Schlüssel und T
Werte?Wie deklariert man ein getipptes Objekt mit beliebigen Schlüsseln?
z.B.
declare var Game: {
creeps: Object<string, Creep>; // not sure what syntax to use here
};
declare class Creep {
// definition...
}
Game.creeps
ist ein object
, aber ich weiß nicht, welche Eigenschaften/keys es haben (sie sind während der Laufzeit definiert - ich verwende es wie ein Wörterbuch), aber ich weiß dass alle seine Werte Creep
s sind.
Meine IDE sagt "Objekt ist nicht generisch", also denke ich, dass die Syntax nicht ganz richtig ist.
Perfect, danke! Ich wusste nicht, wonach ich suchen sollte. Akzeptiert in ~ 5min – mpen
Dies ist immer noch [Fehler in VSCode] (http://i.imgur.com/Sf3txDO.png). Ist das ein Fehler in VS Code oder gibt es eine andere Möglichkeit zu sagen "eine Eigenschaft ist OK"? – mpen
Sie müssen es als ein Wörterbuch zugreifen, d. H. 'Creeps ['key']' 'anstelle von' creeps.key'. Wenn Sie den Schlüsselnamen kennen, sollten Sie ihn als Standardstütze hinzufügen, anstatt einen Index zu verwenden. – basarat