打字稿:在构造函数中调用静态方法
Typescript: calling static methods in constructor
这是我的 class 示例,其中包含有问题的方法
class Example {
constructor(info) {
// call validateInfo(info)
}
static validateInfo(info):void {
// validate the info
}
我想在构造函数中调用 validateInfo,但我不能只用 this.validateInfo(info)
这样做,因为它是一个静态方法。
在 Javascript 中,我可以这样做:
constructor(info) {
this.constructor.validateInfo(info)
}
但是,在 Typescript 中,这会产生以下错误:
error TS2339: Property 'validateInfo' does not exist on type 'Function'.
我理解错误消息,但是 Javascript 解决方案是否有等效的 Typescript?
问题是子类可能调用了构造函数,而不是 Example
。我会具体参考 Example
:
constructor(info) {
Example.validateInfo(info)
}
要考虑的另一个选择是将其设为普通方法而不是静态方法。
这是我的 class 示例,其中包含有问题的方法
class Example {
constructor(info) {
// call validateInfo(info)
}
static validateInfo(info):void {
// validate the info
}
我想在构造函数中调用 validateInfo,但我不能只用 this.validateInfo(info)
这样做,因为它是一个静态方法。
在 Javascript 中,我可以这样做:
constructor(info) {
this.constructor.validateInfo(info)
}
但是,在 Typescript 中,这会产生以下错误:
error TS2339: Property 'validateInfo' does not exist on type 'Function'.
我理解错误消息,但是 Javascript 解决方案是否有等效的 Typescript?
问题是子类可能调用了构造函数,而不是 Example
。我会具体参考 Example
:
constructor(info) {
Example.validateInfo(info)
}
要考虑的另一个选择是将其设为普通方法而不是静态方法。