Typescript 如何访问接口的构造函数类型?
我知道我们可以使用interfaceName['propertyName']直接访问接口的属性类型,但是如何访问构造函数呢 例如:Typescript 如何访问接口的构造函数类型?,typescript,Typescript,我知道我们可以使用interfaceName['propertyName']直接访问接口的属性类型,但是如何访问构造函数呢 例如: interface PromiseConstructor { new <T>(executor: (resolve: (value?: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void): Promise<T>; }
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 |承诺)=>无效,拒绝:(原因?:任何)=>无效)=>无效){
超级(执行人);
}
}