1. 将英文翻译成中文。
2. 举例说明每个工具类型的用法。
partial:
interface User{
id: string,
name: string
}
const user: Partial<User>={
name:
}// 是User也不是User,是User的一部分,相当于
/*
Partial<User> = {
id?:string | undefined,
name?:string | undefined
} //不用写完整的user,把user上传到服务器再补全,再创建一个完全的user
*/
Required
interface User{
id?: string,
name: string
}
const user: Required<User>={
id: '111',
name:'jackson'
}
Readonly
interface User{
id?: string,
name: string
}
const user: Readonly<User>={
id: '111',
name:'jackson'
}
user.id = '222'
Pick
interface User{
id?: string,
name: string
}
type God = Pick<User, 'id'|'name'>
Omit
interface User{
id?: string,
name: string
}
type God2 = Omit<User, 'age'>
Exclude
type Dir = '东'|'南'|'西'|'北'
type Dir2 = Exclude<Dir, '北'> //只剩东南西 排除
type Dir3 = Extract<Dir, '东'|'西'> //只有东和西 提取
ReturnType
function f(a:number,b:number){
return a + b
}
type A = ReturnType<typeof f>
Record
type a = Record<string, number>
type b = {
[x:string]:number
}