实现 Partial
Partial 作用是将传入的属性变为可选项.
interface Person {
name: string;
age: number;
}
function updatePerson(person: Person, fieldsToUpdate: Partial<Person>): Person {
return { ...person, ...fieldsToUpdate };
}
const person: Person = {
name: 'Alice',
age: 24
};
const updatedPerson = updatePerson(person, { age: 25 });
Partial 实现原理
type Partial<T> = {
[K in keyof T]?: T[K]
}