Skip to content

noConstructorReturn

Diagnostic Category: lint/correctness/noConstructorReturn

Since: v1.0.0

Sources:

Disallow returning a value from a constructor.

Returning a value from a constructor of a class is a possible error. Forbidding this pattern prevents errors resulting from unfamiliarity with JavaScript or a copy-paste error.

Only returning without a value is allowed, as it’s a control flow statement.

class A {
constructor() {
return 0;
}
}
code-block.js:3:9 lint/correctness/noConstructorReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

The constructor should not return a value.

1 │ class A {
2 │ constructor() {
> 3 │ return 0;
^^^^^^^^^
4 │ }
5 │ }

The constructor is here:

1 │ class A {
> 2 │ constructor() {
^^^^^^^^^^^^^^^
> 3 │ return 0;
> 4 │ }
^
5 │ }
6 │

Returning a value from a constructor is ignored.

class A {
constructor() {}
}
class B {
constructor(x) {
return;
}
}