Partial

源码:

1
2
3
4
// 将T中的所有属性设为可选
type Partial<T> = {
[P in keyof T]?: T[P]
}

类型使用Partial转换后,属性全部变得可选

Pick

源码:

1
2
3
4
// K是一些T的键,从T中挑选属性
type Pick<T, K extends keyof T> = {
[P in K]: T[P]
}

Person使用Pick挑选后,剩下了gender和age两个属性(和Ex类型对应)