ts中比较常用的内置方法Record、Partial、Required、Readonly

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
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容