mirror of
https://git.proxmox.com/git/pve-eslint
synced 2025-10-09 21:59:11 +00:00

includes a (minimal) working wrapper Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
61 lines
1.3 KiB
Markdown
61 lines
1.3 KiB
Markdown
# Verify calls of `super()` in constructors (constructor-super)
|
|
|
|
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.
|
|
|
|
## Rule Details
|
|
|
|
This rule is aimed to flag invalid/missing `super()` calls.
|
|
|
|
Examples of **incorrect** code for this rule:
|
|
|
|
```js
|
|
/*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:
|
|
|
|
```js
|
|
/*eslint constructor-super: "error"*/
|
|
/*eslint-env es6*/
|
|
|
|
class A {
|
|
constructor() { }
|
|
}
|
|
|
|
class A extends B {
|
|
constructor() {
|
|
super();
|
|
}
|
|
}
|
|
```
|
|
|
|
## When Not To Use It
|
|
|
|
If you don't want to be notified about invalid/missing `super()` callings in constructors, you can safely disable this rule.
|