【发布时间】:2018-09-10 09:15:50
【问题描述】:
我在 TypeScript 中读到了一个静态构造函数并自己尝试过,但它不起作用。我想通过它来初始化一个静态变量(该方法只能调用一次)但我得到以下编译器错误:
错误:“静态”修饰符不能出现在构造函数声明中。
代码:
export class DataManagement {
private static subjects: string[];
static constructor() {
DataManagement.subjects = [];
//some more code here
}
}
【问题讨论】:
-
为什么不在类级别初始化
subjects字段,例如:private static subjects: string[] = []?为什么要在每次构造函数调用时重新初始化它? -
好的,谢谢!它确实有效!所以这是废话? github.com/Microsoft/TypeScript/issues/265
-
@BalázsÉdes 因为这只是一个例子——当然里面还有很多其他代码......但是没有必要分享代码......而且我不想在每次构造函数调用时初始化它,但只初始化一次 - 因为是 static 构造函数。就像 Java 中的静态初始化块。
标签: javascript typescript constructor static initialization