typescript - 有没有办法在 super() 构造函数中使用 'this'?
我正在查看另一个人的代码,在代码中,他们有基本上是这样的代码:
class foo extends bar {
constructor() {
super(param1, param2, new certainObject(this, otherParams));
}
}
我在这段代码上遇到的问题是,它给出的错误是 'super' 必须在访问派生类构造函数中的 'this' 之前调用。
我在想:有没有办法在调用 super() 时使用 this,还是我必须完全重构代码?
答案#1
我认为没有一种直接且非投机的方式可以在 super 调用之前使用 this,并且不是作为该调用的一部分(而这正是错误信息告诉你的内容)。
这是 TypeScript 书籍中关于它的说明。在 GitHub 上也有一个相关(但不相同)的问题被提出,以允许在 super 之前执行至少一些与 this 无关的代码。