no-misused-new
強制執行有效定義
new
和constructor
。
✅
延伸 "plugin:@typescript-eslint/recommended"
在 ESLint 設定 中啟用此規則。
JavaScript 類別可能會定義一個在建立一個類別實例時執行的 constructor
方法。TypeScript 允許描述靜態類別物件的介面定義一個 new()
方法(雖然在實際程式碼中很少使用)。對於 JavaScript 類別和/或 TypeScript 介面缺乏了解的開發人員有時會混淆何時使用 constructor
或 new
。
當類別定義名為 new
的方法或介面定義名為 constructor
的方法時,此規則會報告此混淆。
.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/no-misused-new": "error"
}
};
在遊樂場中嘗試此規則 ↗
範例
- ❌ 不正確
- ✅ 正確
選項
此規則無法設定。
何時不使用
若你故意想使用帶有 new
方法的類別,而且你確信在你的程式碼中工作的人不會將其誤認為建構函式,你可能不想要此規則。你可以考慮針對特定狀況,使用 ESLint disable 註解,而不是完全停用此規則。