Skip to content
On this page

常用ts语法

类型标记 Pick 与 Omit

ts
interface User {
    id: number;
    age: number;
    name: string;
}

// 相当于: type PickUser = { age: number; name: string; }
type OmitUser = Omit<User, "id">
 
// 相当于: type PickUser = { id: number; age: number; }
type PickUser = Pick<User, "id" | "age">


// pick底层
type Pick<T, K extends keyof T> = {
    [P in K]: T[P]
}

// omit底层
type Exclude<T, U> = T extends U ? never : T
type Omit<T, K extends keyof any> = Pick<T, Exclude<keyof T, K>>