禁止使用不必要的类型参数
禁止类型参数等于默认值。
🔒
在 "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"
}
};
在游乐场中尝试此规则 ↗
示例
- ❌ 错误
- ✅ 正确
选项
此规则不可配置。
何时不使用它
如果您更喜欢显式指定类型参数,即使它们等于默认值,也可以跳过此规则。
类型检查 lint 规则比传统的 lint 规则更强大,但也需要配置 类型检查 lint。如果您在启用类型检查规则后遇到性能下降,请参阅 性能故障排除。