noUselessConstructor
Ta treść nie jest jeszcze dostępna w Twoim języku.
Summary
Section titled “Summary”- Rule available since: 
v1.0.0 - Diagnostic Category: 
lint/complexity/noUselessConstructor - This rule is recommended, which means is enabled by default.
 - This rule has an unsafe fix.
 - The default severity of this rule is information.
 - Sources:
- Same as 
no-useless-constructor - Same as 
@typescript-eslint/no-useless-constructor 
 - Same as 
 
How to configure
Section titled “How to configure”{  "linter": {    "rules": {      "complexity": {        "noUselessConstructor": "error"      }    }  }}Description
Section titled “Description”Disallow unnecessary constructors.
ES2015 provides a default class constructor if one is not specified. As such, providing an empty constructor or one that delegates into its parent is unnecessary.
The rule ignores:
- decorated classes;
 - constructors with at least one parameter property;
 privateandprotectedconstructors.
Caveat
Section titled “Caveat”This rule reports on constructors whose sole purpose is to make a parent constructor public. See the last invalid example.
Examples
Section titled “Examples”Invalid
Section titled “Invalid”class A {    constructor (a) {}}code-block.js:2:5 lint/complexity/noUselessConstructor  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ℹ This constructor is unnecessary.
  
    1 │ class A {
  > 2 │     constructor (a) {}
      │     ^^^^^^^^^^^^^^^^^^
    3 │ }
    4 │ 
  
  ℹ Unsafe fix: Remove the unnecessary constructor.
  
    1 1 │   class A {
    2   │ - ····constructor·(a)·{}
    3 2 │   }
    4 3 │   
  
class B extends A {    constructor (a) {        super(a);    }}code-block.ts:2:5 lint/complexity/noUselessConstructor  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ℹ This constructor is unnecessary.
  
    1 │ class B extends A {
  > 2 │     constructor (a) {
      │     ^^^^^^^^^^^^^^^^^
  > 3 │         super(a);
  > 4 │     }
      │     ^
    5 │ }
    6 │ 
  
  ℹ Unsafe fix: Remove the unnecessary constructor.
  
    1 1 │   class B extends A {
    2   │ - ····constructor·(a)·{
    3   │ - ········super(a);
    4   │ - ····}
    5 2 │   }
    6 3 │   
  
class C {    /**     * Documented constructor.     */    constructor () {}}code-block.js:5:5 lint/complexity/noUselessConstructor  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ℹ This constructor is unnecessary.
  
    3 │      * Documented constructor.
    4 │      */
  > 5 │     constructor () {}
      │     ^^^^^^^^^^^^^^^^^
    6 │ }
    7 │ 
  
  ℹ Unsafe fix: Remove the unnecessary constructor.
  
    1 1 │   class C {
    2   │ - ····/**
    3   │ - ·····*·Documented·constructor.
    4   │ - ·····*/
    5   │ - ····constructor·()·{}
    6 2 │   }
    7 3 │   
  
class A {    protected constructor() {        this.prop = 1;    }}
class B extends A {    // Make the parent constructor public.    constructor () {        super();    }}code-block.ts:9:5 lint/complexity/noUselessConstructor  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ℹ This constructor is unnecessary.
  
     7 │ class B extends A {
     8 │     // Make the parent constructor public.
   > 9 │     constructor () {
       │     ^^^^^^^^^^^^^^^^
  > 10 │         super();
  > 11 │     }
       │     ^
    12 │ }
    13 │ 
  
  ℹ Unsafe fix: Remove the unnecessary constructor.
  
     6 6 │   
     7 7 │   class B extends A {
     8   │ - ····//·Make·the·parent·constructor·public.
     9   │ - ····constructor·()·{
    10   │ - ········super();
    11   │ - ····}
    12 8 │   }
    13 9 │   
  
class A {    constructor (prop) {        this.prop = prop;    }}class B extends A {    constructor () {        super(5);    }}class C {    // Empty constructor with parameter properties are allowed.    constructor (private prop: number) {}}class D {  constructor(public arg: number){}}
class F extends D {  // constructor with default parameters are allowed.  constructor(arg = 4) {    super(arg)  }}@Decoratorclass C {    constructor (prop: number) {}}Related links
Section titled “Related links”Copyright (c) 2023-present Biome Developers and Contributors.