typescript - 类 'X' 在声明之前被使用
我有两个类 X 和 Y。由于某种原因,这两个类在同一个文件中,如下所示:
export abstract class Y {
static readonly childVar = new X();
}
export class X extends Y {
}创建这个新对象时发生错误,提示类 X 在声明之前被使用。有解决方法吗?
答案#1
这种循环引用通常是不好的设计,我更倾向于推荐一种替代方案,但我需要查看更多你的代码。如果你确实必须这样做,那么你可以通过 getter 延迟构造:
export abstract class Y {
private static _childVar: Y
static get childVar () {
return this._childVar || (this._childVar = new X())
}
}
export class X extends Y {
}
只要你不在 X 被定义之前尝试访问 childVar,这就会有效。
