constructor-super
NOTE: this rule is part of the
recommended rule set.Enable full set in
deno.json:{
"lint": {
"rules": {
"tags": ["recommended"]
}
}
}Enable full set using the Deno CLI:
deno lint --rules-tags=recommended
This rule can be explictly included to or excluded from the rules present in the current tag by adding it to the
include or exclude array in deno.json:{
"lint": {
"rules": {
"include": ["constructor-super"],
"exclude": ["constructor-super"]
}
}
}Verifies the correct usage of constructors and calls to super().
Defined constructors of derived classes (e.g. class A extends B) must always
call super(). Classes which extend non-constructors (e.g.
class A extends null) must not have a constructor.
Invalid:
class A {}
class Z {
constructor() {}
}
class B extends Z {
constructor() {} // missing super() call
}
class C {
constructor() {
super(); // Syntax error
}
}
class D extends null {
constructor() {} // illegal constructor
}
class E extends null {
constructor() { // illegal constructor
super();
}
}
Valid:
class A {}
class B extends A {}
class C extends A {
constructor() {
super();
}
}
class D extends null {}