TypeScript 中 Omit、Pick、 Partial、Required
Omit 和 Pick
用于创建仅具有原始类型的一组选项的新类型。
interface User {
id?: number;
firstname: string;
lastname?: string;
age: number;
telephone?: number;
twitter?: string;
}
- Omit: 删除定义字段
type UserPost = Omit<User, 'id'>;
// 结果
{
firstname: string;
lastname?: string;
age: number;
telephone?: number;
twitter?: string;
}
- Pick: 只拿定义的字段
type UserFullname = Pick<User, 'firstname' | 'lastname'>;
// 结果
{
firstname: string;
lastname?: string;
}