no-this-before-super
NOTE: this rule is part of the
recommended
rule set.Enable full set in
deno.json
:{ "lint": { "tags": ["recommended"] } }
Enable full set using the Deno CLI:
deno lint --tags=recommended
Disallows use of this
or super
before calling super()
in constructors.
The access to this
or super
before calling super()
in the constructor of
derived classes leads to ReferenceError
. To prevent it, this lint rule
checks if there are accesses to this
or super
before calling super()
in
constructors.
Invalid:
class A extends B {
constructor() {
this.foo = 0;
super();
}
}
class C extends D {
constructor() {
super.foo();
super();
}
}
Valid:
class A extends B {
constructor() {
super();
this.foo = 0;
}
}
class C extends D {
constructor() {
super();
super.foo();
}
}
class E {
constructor() {
this.foo = 0;
}
}