一致式泛型建構函式
執行在建構式呼叫的型別註解或建構式名稱上指定泛型型別引數。
🎨
延伸 "plugin:@typescript-eslint/風格"
in an ESLint 組態 啟用此規則。
🔧
此規則報告的一些問題可透過 --fix
ESLint 命令列選項自動修正。.
在建構泛型類別時,您可以在左方(作為型別註解)或右方(作為建構式呼叫的一部分)指定型別引數。
// Left-hand side
const map: Map<string, number> = new Map();
// Right-hand side
const map = new Map<string, number>();
此規則確保型別引數持續出現在宣告中的某一方。保持持續在一方改善程式碼可讀性。
當宣告兩方或宣告都沒有型別參數時,此規則永遠不會回報。如果型別註解和建構式的名稱不符,它也不回報。
.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/consistent-generic-constructors": "error"
}
};
在執行環境中嘗試這項規則 ↗
選項
此規則接受下列選項:
type Options = ['constructor' | 'type-annotation'];
const defaultOptions: Options = ['constructor'];
constructor
(預設):僅出現在類型註解上的類型參數不允許。type-annotation
:僅出現在建構函數上的類型參數不允許。
constructor
- ❌ 不正確
- ✅ 正確
type-annotation
- ❌ 不正確
- ✅ 正確
何時不使用
如果您不想強制使用一種泛型建構函數樣式,您可以關閉此規則。
但是請記住,不一致的樣式會損害專案的可讀性。我們建議您為您的專案選擇最適合的一種選項。