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 ,我们可以定义一个仅由firstName 和lastName 组成的变量。
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 类型在基于已经存在的类型创建自定义类型时非常有用。现在你已经掌握了它,你可以简化你的类型声明了。