泛型类型,存在确定得属性,剩下的属性都是通过泛型传进来
泛型类型:
// 定义一个泛型类型别名,其中包含一个已知的属性 id,其余属性通过泛型 T 传入
type FixedPropertyType<T> = {id: number; // 已确定的属性
} & Partial<Record<keyof T, T[keyof T]>>; // 其他属性通过泛型 T 传入
解释:
- 类型别名定义:
FixedPropertyType<T>
中使用了&
运算符来合并两个类型。第一个类型是固定的属性id
,第二个类型是通过泛型T
传入的属性集合。 Partial<Record<keyof T, T[keyof T]>>
:这部分表示T
类型中的任意属性,其中Record<keyof T, T[keyof T]>
创建了一个新的类型,该类型包含了T
中的所有属性,Partial
则使得这些属性变为可选。