型注釈 (.d.ts ファイル) を既存の大規模な Javascript コード ベースに追加するプロジェクトに取り組んでいます。.d.ts ファイルは Javascript と一緒に存在しますが、このプロジェクトをサポートするために Javascript を変更することはできません。
既存のコードでは、次のようなものがあります。
...
window.MyGlobal.Service = function () {
}
window.MyGlobal.Service.prototype = {
baseURL: 'http://...';
}
...
後で次のようなことをすることを期待して
var svc = new window.MyGlobal.Service();
これを TypeScript で表現する方法がわかりません。私は持っている
interface Service {
baseURL: string;
}
しかし、MyGlobal のインターフェイスに何を入れればよいかわかりません。私はもう試した
interface MyGlobal {
Service: Service;
}
しかし、その上で new() を使用することはできません。に変更できます
interface MyGlobal {
Service(): void;
}
これで、new(); を使用できるようになります。ただし、Service インターフェイスに関する型情報は失われます。
この状況を TypeScript で処理することは可能ですか?