super()
in constructors (constructor-super)The "extends": "eslint:recommended"
property in a configuration file enables this rule.
Constructors of derived classes must call super()
. Constructors of non derived classes must not call super()
. If this is not observed, the JavaScript engine will raise a runtime error.
This rule checks whether or not there is a valid super()
call.
This rule is aimed to flag invalid/missing super()
calls.
Examples of incorrect code for this rule:
/*eslint constructor-super: "error"*/ /*eslint-env es6*/ class A { constructor() { super(); // This is a SyntaxError. } } class A extends B { constructor() { } // Would throw a ReferenceError. } // Classes which inherits from a non constructor are always problems. class A extends null { constructor() { super(); // Would throw a TypeError. } } class A extends null { constructor() { } // Would throw a ReferenceError. }
Examples of correct code for this rule:
/*eslint constructor-super: "error"*/ /*eslint-env es6*/ class A { constructor() { } } class A extends B { constructor() { super(); } }
If you don’t want to be notified about invalid/missing super()
callings in constructors, you can safely disable this rule.
This rule was introduced in ESLint 0.24.0.
© JS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/rules/constructor-super