にプロパティを明示的に設定することにより、オブジェクトのグローバル名前空間を設定しますwindow
。
window.MyNamespace = window.MyNamespace || {};
TypeScriptは次のことを強調しMyNamespace
、不満を述べています:
プロパティ 'MyNamespace'はタイプ 'ウィンドウ'の値には存在しません
MyNamespace
アンビエント変数として宣言し、window
明示性を削除することでコードを機能させることができますが、それはしたくありません。
declare var MyNamespace: any;
MyNamespace = MyNamespace || {};
どのように私window
はそこに留まり、TypeScriptを幸せにすることができますか?
余談ですが、TypeScript window
はany
間違いなく何かを含むことができる型であると告げるので、TypeScriptが文句を言うのは特に面白いと思います。