TypeScript Pick Type是如何工作的

547 阅读2分钟

TypeScriptPick 类型是一个实用类型,用于创建一个新的自定义类型,基于一个已经存在的类型。它与Omit类型相反。让我们来看看它是如何工作的。

自定义类型

我们在本指南中使用自定义类型。如果你对自定义类型感到陌生,请查看我的自定义类型指南

TypeScript 挑选实用类型

TypeScript有许多实用类型,它们本质上是解决特定问题的自定义类型。Pick 解决的问题是,当我们有一个已经存在的类型,并希望只使用该类型的几个字段来创建一个新类型。例如,假设我们有一个User 类型,看起来像这样。

type User = {
    firstName: string,
    lastName: string,
    age: number
}

在代码的另一部分,我们想引用一个用户,但我们知道数据只给出了名字和姓氏。因此,我们实际上不能使用User 类型,因为所有字段都是必须的。如果我们想在User 的基础上创建一个新类型,我们可以使用Pick

Pick 有两个参数,第一个是 ,这是我们想使用的类型,第二个是一个Type 联合类型或我们想从我们正在使用的类型中选择的字段列表。我们这样写: 。例如,让我们做一个新的类型,其中只有 和 。Type<User, "fields" | "to" | "include"> firstName lastName

type User = {
    firstName: string,
    lastName: string,
    age: number
}
type UserName = Pick<User, "firstName" | "lastName">

现在,使用我们的新类型,UserName ,我们可以定义一个仅由firstNamelastName 组成的变量。

let user:UserName = {
    firstName: "John",
    lastName: "Doe"
}

如果我们想创建一个新的类型,其中只包含用户的年龄,我们也可以使用Pick 。下面是这个例子。

type User = {
    firstName: string,
    lastName: string,
    age: number
}

type UserAge = Pick<User, "age">

let age:UserAge = {
    age: 1534
}

正如你所看到的,Pick 类型在基于已经存在的类型创建自定义类型时非常有用。现在你已经掌握了它,你可以简化你的类型声明了。