你不知道TS高级类型
Partial 在TS中的使用及含义
- Partial(部分的,不完全的),在ts中是让一个定义中的所有属性都变成可选的参数
interface Person {
name:string
age:number
}
const person1:person = {}
const person2:Partial<Person> = {}
const person2:Partial<Person> = { name:'xiaohu' }
const person2:Partial<Person> = { height:1.88 }
key of 在TS中的使用及含义
- key of 就是将一个联合类型的属性名全部提取出来当做联合类型
interface Person {
name: string
age: number
}
type PersonKeys = keyof Person
Pick 在TS中的使用及含义
- pick(选择)在ts中可以选择一个原来接口中一部分的属性定义
interface Person {
name:string
age:number
}
type SomePerson = Pick<Person, 'name'> === type SomePerson = { name:string }
type SomePerson = Pick<Person, 'name' | 'age'> === type SomePerson = { name: string;age: number }
Exclude 在TS中的使用及含义
- exclude(排除)在ts中可以排除 联合类型中的一部分内容
- 注意exclude是操作联合类型的
type MyTypes = 'name' | 'age' | 'height'
type someMyTypes = Exclude<MyTypes, 'name'>
const myTypes1: someMyTypes = 'age'
const myTypes1: someMyTypes = 'name'
Omit 在TS中的使用及含义
- omit(省略)在ts中就是将接口或者类型的键值对删除一部分
interface Person {
name:string
age:number
}
type somePerson = Omit<Person, 'name'> ===
type somePerson = {
age:number
}