相关疑难解决方法(0)

TypeScript中的抽象构造函数类型

TypeScript中非抽象类(非抽象构造函数)的类型签名如下:

declare type ConstructorFunction = new (...args: any[]) => any;
Run Code Online (Sandbox Code Playgroud)

这也称为新类型.但是,我需要一个抽象类的类型签名(抽象构造函数).我的理解是可以被定义为具有类型Function,但就是这样过于宽泛.难道没有更精确的替代方案吗?


编辑:

为了澄清我的意思,下面的小片段演示了抽象构造函数和非抽象构造函数之间的区别:

declare type ConstructorFunction = new (...args: any[]) => any;

abstract class Utilities {
    ...
}

var UtilityClass: ConstructorFunction = Utilities; // Error.
Run Code Online (Sandbox Code Playgroud)

类型'typeof Utilities'不能分配给'new(... args:any [])=> any'.

无法将抽象构造函数类型分配给非抽象构造函数类型.

constructor abstract-class typescript

26
推荐指数
2
解决办法
1万
查看次数

标签 统计

abstract-class ×1

constructor ×1

typescript ×1