静态 class 上构造函数的打字稿定义

Typescript definition for a constructor on a static class

我在弄清楚如何为以下代码编写类型定义时遇到了一些麻烦。我想描述它的最佳方式是包含命名构造函数的静态 class。

var ajaxAdapter = new IAjaxAdapter.implement({
   ajax: function (work: IAjaxRequest) {
      ...
   }
}

但我遇到构建错误 Property 'implement' does not exist on type 'typeof IAjaxAdapter'

我的d.ts现在看起来是这样的,但显然有点不对

export class IAjaxAdapterInstance {
    constructor(any: any);
    ajax: (request: IAjaxRequest) => void;
}
export class IAjaxAdapter {
    implement: IAjaxAdapterInstance;
}

我不确定这是否可行,如果不可能,我想我可以输入任何内容...但我希望得到一些东西。

只看类型,因为您使用 implement 作为引用 class 而不是对象的静态 属性,如果您添加statictypeof:

export class IAjaxAdapter {
    static implement: typeof IAjaxAdapterInstance;
}