typescript/no-unnecessary-type-constraint 可疑
它的作用
禁止对泛型类型进行不必要的限制。
为什么这对不好?
TypeScript 中的泛型类型参数 (<T>
) 可能会受到 extends 关键字的“限制”。如果未提供 extends,类型参数会将限制默认为未知。因此,从任何或未知类型扩展是多余的。
示例
typescript
interface FooAny<T extends any> {}
interface FooUnknown<T extends unknown> {}
type BarAny<T extends any> = {};
type BarUnknown<T extends unknown> = {};
class BazAny<T extends any> {
quxAny<U extends any>() {}
}
const QuuxAny = <T extends any>() => {};
function QuuzAny<T extends any>() {}