Ich richte globale Namespaces für meine Objekte ein, indem ich explizit eine Eigenschaft auf setze window
.
window.MyNamespace = window.MyNamespace || {};
TypeScript unterstreicht MyNamespace
und beschwert sich über:
Die Eigenschaft 'MyNamespace' ist für den Wert vom Typ 'window' any "nicht vorhanden.
Ich kann den Code MyNamespace
zum Laufen bringen, indem window
ich ihn als Umgebungsvariable deklariere und die explizite Aussage lösche, aber das möchte ich nicht.
declare var MyNamespace: any;
MyNamespace = MyNamespace || {};
Wie kann ich dort bleiben window
und TypeScript glücklich machen?
Als Randnotiz finde ich es besonders lustig, dass sich TypeScript beschwert, da es mir sagt, dass window
es sich um einen Typ handelt, any
der definitiv alles enthalten kann.