consistent-generic-constructors
コンストラクタ呼び出しの型注釈またはコンストラクタ名にジェネリック型引数を指定することを強制します。
🎨
拡張 "plugin:@typescript-eslint/"stylistic"
を ESLint設定 に追加すると、このルールが有効になります。
🔧
このルールによって報告されるいくつかの問題は、 --fix
ESLintコマンドラインオプション.
によって自動的に修正できます。
// Left-hand side
const map: Map<string, number> = new Map();
// Right-hand side
const map = new Map<string, number>();
ジェネリッククラスを構築する場合、型引数を左側(型注釈として)または右側(コンストラクタ呼び出しの一部として)のいずれかに指定できます。
このルールは、型引数が宣言の片側に一貫して表示されるようにします。片側に統一することで、コードの可読性が向上します。
宣言の両側、またはどちらの側にも型パラメータがない場合は、このルールはレポートされません。 また、型注釈とコンストラクタの名前が一致しない場合も報告されません。
module.exports = {
"rules": {
"@typescript-eslint/consistent-generic-constructors": "error"
}
};
.eslintrc.cjs
プレイグラウンドでこのルールを試す ↗
オプション
type Options = ['constructor' | 'type-annotation'];
const defaultOptions: Options = ['constructor'];
- このルールは次のオプションを受け入れます。
constructor
(デフォルト): 型注釈にのみ表示される型引数は許可されません。
type-annotation
: コンストラクタにのみ表示される型引数は許可されません。
constructor
- ❌ 不適切
プレイグラウンドで開く
constructor
- ❌ 不適切
type-annotation
使用しない場合
ある種のジェネリックコンストラクタスタイルを他のスタイルに強制したくない場合は、このルールを無効にすることができます。