Jak jawnie ustawić nową właściwość `window` w TypeScript?

Konfiguruję globalne przestrzenie nazw dla moich obiektów, ustawiając jawnie właściwośćwindow.

window.MyNamespace = window.MyNamespace || {};

TypeScript podkreślaMyNamespace i skarży się, że:

Właściwość „MyNamespace” nie istnieje w wartości typu „window” any ”

Mogę sprawić, że kod działa, deklarującMyNamespace jako zmienna otoczenia i upuszczeniewindow jednoznaczny, ale nie chcę tego robić.

declare var MyNamespace: any;

MyNamespace = MyNamespace || {};

Jak mogę zachowaćwindow i sprawia, że ​​TypeScript jest szczęśliwy?

Na marginesie uważam za szczególnie zabawne, że TypeScript narzeka, ponieważ to mi mówiwindow jest typuany które zdecydowanie mogą zawierać cokolwiek.

questionAnswers(17)

yourAnswerToTheQuestion