跳至内容

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>() {}

参考

在 MIT 许可下发布。