Skip to content
← Back to rules

eslint/no-this-before-super Correctness

✅ This rule is turned on by default.

What it does ​

Requires calling super() before using this or super.

This rule can be disabled for TypeScript code, as the TypeScript compiler enforces this check.

Why is this bad? ​

In the constructor of derived classes, if this/super are used before super() calls, it raises a ReferenceError.

Examples ​

Examples of incorrect code for this rule:

javascript
class A1 extends B {
  constructor() {
    // super() needs to be called first
    this.a = 0;
    super();
  }
}

How to use ​

To enable this rule using the config file or in the CLI, you can use:

json
{
  "rules": {
    "no-this-before-super": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  rules: {
    "no-this-before-super": "error",
  },
});
bash
oxlint --deny no-this-before-super

Version ​

This rule was added in v0.2.6.

References ​