使用条件类型进行类型分配,避免使用“extends”关键字。以下是解决方法的示例代码:
type Distributive = T extends any ? Array : never;
type TestDistributive = Distributive;
// 结果为:type TestDistributive = string[] | number[]
type Generic = T extends never ? never : T;
type TestGeneric = Generic;
// 结果为:type TestGeneric = string | number
type TestGenericNever = Generic;
// 结果为:type TestGenericNever = never