Skip to content
← Back to rules

eslint/no-this-before-super 正确性

This rule is turned on by default.

它做了什么

要求在使用 thissuper 之前先调用 super()

此规则可以在 TypeScript 代码中禁用,因为 TypeScript 编译器会强制执行此检查。

为什么这是个问题?

在派生类的构造函数中,如果在调用 super() 之前就使用了 this/super,会引发 ReferenceError

示例

此规则的 错误 代码示例:

javascript
class A1 extends B {
  constructor() {
    // 必须首先调用 super()
    this.a = 0;
    super();
  }
}

如何使用

通过配置文件或 CLI 启用此规则,可以使用:

json
{
  "rules": {
    "no-this-before-super": "error"
  }
}
bash
oxlint --deny no-this-before-super

参考资料