Typescript window objesine property ve metod eklemek
Typescript bir çok konuda başarılı bir araç olmasına rağmen, javascript'te rahatlıkla yaptığımız şeyler konusunda katı kurallar getirebiliyor. Bu makalede window objesine nasıl property ve metot ekleyebileceğimizi gösterdim.
Mesela, window objesi üzerine javascript'te aşağıdaki gibi bir kod yazmak çok mümkünken, Typescript'te konu biraz daha sıkıntılı:
Mesela, window objesi üzerine javascript'te aşağıdaki gibi bir kod yazmak çok mümkünken, Typescript'te konu biraz daha sıkıntılı:
// Javascript window.myProperty = 'demo'; // Typescript (window as any).myProperty = 'demo';Ancak bu noktada Typescript için bir ayarlama yaparak bu durumdan kurtulabilirsiniz : 1. shims-window.d.ts isminde bir dosya oluşturun. 2. Aşağıdaki kodu dosyanın içine yapıştırın:
export {}; // this file needs to be a module declare global { interface Window { myProperty?: string; } }Window interface'i içine istediğiniz property ve metot'u ekleyebilirsiniz. Ayrıca kendi tiplerinizi de kullanmanız mümkün. Örnek olarak User isminde bir tipiniz var ise :
import { User } from './user'; export {}; // this file needs to be a module declare global { interface Window { user?: User; } }
Yorumlar