我正在开发一个将类型注释(.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 中处理这种情况?