ts中比较常用的内置方法Record、Partial、Requi
2023-04-11 本文已影响0人
回不去的那些时光
Record
Record的内部定义,接收两个泛型参数;Record后面的泛型就是对象键和值的类型。
Record 主要的作用是用来定义对象
const obj: Record<string, string> = {"a": '1'};
或者复杂一点的
interface Person {
name: string;
age: number;
}
const obj: Record<string, Person> = {"a": { name: 'dj', age: 12 }};
可以看到,Record 可以很好的帮我们定义对象类型
Partial
生成一个新类型,该类型与原类型拥有相同的属性,但是所有属性皆为可选项
interface Foo {
name: string
age: number
}
type Bar = Partial<Foo>
相当于
type Bar = {
name?: string
age?: number
}
Required
生成一个新类型,该类型与原类型拥有相同的属性,但是所有属性皆为必选项
interface Foo {
name?: string
age: number
}
type Bar = Required<Foo>
相当于
type Bar = {
name: string
age: number
}
Readonly
生成一个新类型,该类型与原类型拥有相同的属性,但是所有属性都是只读的
interface Foo {
name: string
age: number
}
type Bar = Readonly<Foo>
相当于
type Bar = {
readonly name: string
readonly age: number
}