]> git.proxmox.com Git - pve-eslint.git/blame - eslint/docs/src/rules/constructor-super.md
import 8.41.0 source
[pve-eslint.git] / eslint / docs / src / rules / constructor-super.md
CommitLineData
8f9d1d4d
DC
1---
2title: constructor-super
8f9d1d4d
DC
3rule_type: problem
4---
eb39fafa
DC
5
6Constructors of derived classes must call `super()`.
7Constructors of non derived classes must not call `super()`.
8If this is not observed, the JavaScript engine will raise a runtime error.
9
10This rule checks whether or not there is a valid `super()` call.
11
12## Rule Details
13
14This rule is aimed to flag invalid/missing `super()` calls.
15
16Examples of **incorrect** code for this rule:
17
8f9d1d4d
DC
18:::incorrect
19
eb39fafa
DC
20```js
21/*eslint constructor-super: "error"*/
22/*eslint-env es6*/
23
24class A {
25 constructor() {
26 super(); // This is a SyntaxError.
27 }
28}
29
30class A extends B {
31 constructor() { } // Would throw a ReferenceError.
32}
33
34// Classes which inherits from a non constructor are always problems.
35class A extends null {
36 constructor() {
37 super(); // Would throw a TypeError.
38 }
39}
40
41class A extends null {
42 constructor() { } // Would throw a ReferenceError.
43}
44```
45
8f9d1d4d
DC
46:::
47
eb39fafa
DC
48Examples of **correct** code for this rule:
49
8f9d1d4d
DC
50:::correct
51
eb39fafa
DC
52```js
53/*eslint constructor-super: "error"*/
54/*eslint-env es6*/
55
56class A {
57 constructor() { }
58}
59
60class A extends B {
61 constructor() {
62 super();
63 }
64}
65```
66
8f9d1d4d
DC
67:::
68
eb39fafa
DC
69## When Not To Use It
70
71If you don't want to be notified about invalid/missing `super()` callings in constructors, you can safely disable this rule.