①. Partial可以快速把某个接口类型中定义的属性变成可选的(Optional)
(1). Partial类型的定义:
// Make all properties in T optional
type Partial<T> = {
[P in keyof T]?: T[P];
}
// 定义user的接口
interface IUser {
name: string
age: number
department: string
}
// 经过Partial类型转化后得到
type optional = Partial<IUser>
// optional的结果:
type optional = {
name?: string | undefined;
age?: number | undefined;
department?: string | undefined;
}