- Partial 部分类型
insterface User {
id: string;
name: string;
}
const user: User = {
name: 'zs'
}
const user: Partial<User> = {
name: 'zs'
}
- Required 必填类型
insterface User {
id?: string;
name: string;
}
const user: Required<User> = {
name: 'zs'
}
- Readonly 只读类型
insterface User {
id: string;
name: string;
}
const user: Readonly<User> = {
id: '111',
name: 'zs'
}
user.id = '222'
- Exclude 排除类型 --- 接收的是基本类型
type Dir = '东' | '南' | '西' | '北'
type Dir2 = Exclude<Dir, '北'>
- Extract 提取类型
type Dir = '东' | '南' | '西' | '北'
type Dir2 = Extrace<Dir, '东' | '北'>
- Pick/Omit 排除 key 类型 --- 接收的是对象
insterface User {
id: string;
name: string;
age: number
}
insterface God1 = {
id: string;
name: string;
}
type God2 = Pick<User, 'id' | 'name'>
==================================
Pick的反向操作 Omit
type God2 = Pick<User, 'age'>
- ReturnType 返回值类型
function f(a: number, b: number){
return a + b
}
type A = ReturnType<type f>