以下代码段无效:
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
function test<P extends { name: string }, R = Omit<P, 'name'>>(
param: R,
): P {
return {
...param,
name: 'test'
};
}
它会产生以下错误:
输入'R&{name:string; }”不能分配给类型“ P”
有没有办法做到这一点?