Skip to content

Latest commit

 

History

History
60 lines (43 loc) · 792 Bytes

no-misused-new.md

File metadata and controls

60 lines (43 loc) · 792 Bytes

no-misused-new

Enforce valid definition of new and constructor.

Warns on apparent attempts to define constructors for interfaces or new for classes.

Rule Details

Examples of code for this rule:

❌ Incorrect

class C {
  new(): C;
}

interface I {
  new (): I;
  constructor(): void;
}

✅ Correct

class C {
  constructor() {}
}
interface I {
  new (): C;
}

Options

// .eslintrc.json
{
  "rules": {
    "@typescript-eslint/no-misused-new": "error"
  }
}

This rule is not configurable.

Related To

Attributes

  • Configs:
    • ✅ Recommended
    • 🔒 Strict
  • 🔧 Fixable
  • 💭 Requires type information