本文へスキップ

不要な型引数を許可しない

デフォルト値と等しい型引数を許可しません。

🔒

拡張 "plugin:@typescript-eslint/strict-type-checked" ESLint設定 で有効にすると、このルールが有効になります。

🔧

このルールによって報告される問題の一部は、 --fix ESLintコマンドラインオプション.

によって自動的に修正できます。

このルールを実行するには、 型情報 が必要です。

TypeScriptの型パラメーターには、デフォルト値を指定できます。例:

function f<T = number>(/* ... */) {
// ...
}

明示的に指定された型パラメーターがその型パラメーターのデフォルト値と等しい場合、冗長です。例:`f<number>(...)` を呼び出す場合。このルールは、明示的に指定された型引数がその型パラメーターのデフォルト値である場合に報告します。

.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/no-unnecessary-type-arguments": "error"
}
};

このルールをPlaygroundでお試しください ↗

function f<T = number>() {}
f<number>();
Playgroundで開く
function g<T = number, U = string>() {}
g<string, string>();
Playgroundで開く
class C<T = number> {}
new C<number>();

class D extends C<number> {}
Playgroundで開く
interface I<T = number> {}
class Impl implements I<number> {}
Playgroundで開く

オプション

このルールは設定できません。

使用しない場合

デフォルト値と等しい場合でも、型パラメーターを明示的に指定することを好む場合は、このルールをスキップできます。


型チェック済みlintルールは従来のlintルールよりも強力ですが、型チェック済みlintingの設定も必要です。パフォーマンスに関するトラブルシューティングで、型チェック済みルールの有効化後にパフォーマンスの低下が発生した場合はご確認ください。

リソース