JavaScript and TypeScript classes may define a constructor method that is executed when a new instance is created. TypeScript allows
interfaces that describe a static class object to define a new() method. Using these terms to name methods in other contexts can lead to
confusion and make the code unclear and harder to understand.
This rule reports when:
new. The new keyword is used to create new instances of the class. If a method with
the same name is defined, it can be unclear whether the method is intended to create new instances or perform some other action. constructor. The constructor method is used to define the constructor function for a class
that implements the interface. If a method with the same name is defined in the interface, it can be unclear whether the method is intended to
define the constructor function or perform some other action.
interface I {
constructor(): void; // Noncompliant
new(): I;
}
declare class C {
constructor();
new(): C; // Noncompliant
}
Do not define methods named constructor on TypeScript interfaces. Similarly, avoid defining class methods called new.
interface I {
new(): I;
}
declare class C {
constructor();
}
constructor
new operator