跳到主要內容

一致式泛型建構函式

執行在建構式呼叫的型別註解或建構式名稱上指定泛型型別引數。

🎨

延伸 "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

const map: Map<string, number> = new Map();
const set: Set<string> = new Set();
在執行環境中開啟

type-annotation

const map = new Map<string, number>();
const set = new Set<string>();
在執行環境中開啟

何時不使用

如果您不想強制使用一種泛型建構函數樣式,您可以關閉此規則。

但是請記住,不一致的樣式會損害專案的可讀性。我們建議您為您的專案選擇最適合的一種選項。

資源