Saya menyiapkan ruang nama global untuk objek saya dengan secara eksplisit menyetel properti window
.
window.MyNamespace = window.MyNamespace || {};
TypeScript menggarisbawahi MyNamespace
dan mengeluh bahwa:
Properti 'MyNamespace' tidak ada pada nilai ketik 'jendela' apa pun "
Saya dapat membuat kode bekerja dengan mendeklarasikan MyNamespace
sebagai variabel ambient dan menjatuhkan window
explicitness tetapi saya tidak ingin melakukan itu.
declare var MyNamespace: any;
MyNamespace = MyNamespace || {};
Bagaimana saya bisa tetap window
di sana dan membuat TypeScript bahagia?
Sebagai catatan saya merasa lucu bahwa TypeScript mengeluh karena memberitahu saya bahwa itu window
adalah tipe any
yang pasti dapat berisi apa saja.