跳至主要内容

禁止错误使用 new

强制 newconstructor 的有效定义。

JavaScript 类可以定义一个 constructor 方法,该方法在创建类实例时运行。TypeScript 允许描述静态类对象的接口定义一个 new() 方法(尽管这在实际代码中很少使用)。刚接触 JavaScript 类和/或 TypeScript 接口的开发人员有时会混淆何时使用 constructornew

此规则报告类定义名为 new 的方法或接口定义名为 constructor 的方法的情况。

.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/no-misused-new": "error"
}
};

在游乐场中尝试此规则 ↗

示例

declare class C {
new(): C;
}

interface I {
new (): I;
constructor(): void;
}
在游乐场中打开

选项

此规则不可配置。

何时不使用它

如果您有意要使用带有 new 方法的类,并且您确信在您的代码中工作的任何人都不会将其误认为构造函数,那么您可能不希望使用此规则。您可以考虑使用 ESLint 禁用注释 来处理这些特定情况,而不是完全禁用此规则。

资源