Skip to main content

no-useless-constructor

Disallow unnecessary constructors.

Attributes

  • Included in configs
    • ✅ Recommended
    • 🔒 Strict
  • Fixable
    • 🔧 Automated Fixer
    • 💡 Suggestion Fixer
  • 💭 Requires type information

Rule Details

This rule extends the base eslint/no-useless-constructor rule. It adds support for:

  • constructors marked as protected / private (i.e. marking a constructor as non-public),
  • public constructors when there is no superclass,
  • constructors with only parameter properties.

Caveat

This lint rule will report on constructors whose sole purpose is to change visibility of a parent constructor. See discussion on this rule's lack of type information for context.

How to Use

.eslintrc.cjs
module.exports = {
// Note: you must disable the base rule as it can report incorrect errors
"no-useless-constructor": "off",
"@typescript-eslint/no-useless-constructor": "warn"
};

Options

See eslint/no-useless-constructor options.

Taken with ❤️ from ESLint core

Resources