Typescript 如何访问接口的构造函数类型?

Typescript 如何访问接口的构造函数类型?,typescript,Typescript,我知道我们可以使用interfaceName['propertyName']直接访问接口的属性类型,但是如何访问构造函数呢 例如: interface PromiseConstructor { new <T>(executor: (resolve: (value?: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void): Promise<T>; }

我知道我们可以使用interfaceName['propertyName']直接访问接口的属性类型,但是如何访问构造函数呢

例如:

interface PromiseConstructor {
    new <T>(executor: (resolve: (value?: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;
}

class SomeNewClass<T> extends Promise<T> {
  constructor(...args: ConstructorParameters<PromiseConstructor['???']<T>>) {
     ...
  }
}
接口承诺构造函数{
新(执行人:(决定:(价值?:承诺)=>无效,拒绝:(理由?:任何)=>无效)=>无效):承诺;
}
类SomeNewClass扩展了承诺{
构造函数(…参数:构造函数参数){
...
}
}

我想你只是想要
构造函数(…args:ConstructorParameters){
因为
PromiseConstructor
的泛型
T
ConstructorParameters
尝试提取其参数时无法知道,只需使用:

class SomeNewClass<T> extends Promise<T> {

    constructor(executor: (resolve: (value?: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void) {
        super(executor);
    }
}
class SomeNewClass扩展了承诺{
构造函数(执行者:(解析:(值?:T |承诺)=>无效,拒绝:(原因?:任何)=>无效)=>无效){
超级(执行人);
}
}