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
}
上一篇 下一篇

猜你喜欢

热点阅读