The TypeScript type is a utility type which is used to create a new custom Type, based off an already existing one. It is the opposite of the Omit Type. Let's look at how it works. Pick Custom Types We are using custom types in this guide. If you're new to custom types, . check out my guide on custom types here TypeScript Pick Utility Type TypeScript has a number of utility types which are essentially custom types that solve a particular problem. The problem which solves is when we have an already existing type, and want to create a new type using only a couple of fields from that type. For example, suppose we had a type that looks like this: Pick User type User = { firstName: string, lastName: string, age: number } In another part of the code, we want to refer to a user, but we know that the data only gives the first and last name. As such, we can't actually use the type as all fields are required. If we want to create a new type based off , we can use . User User Pick has two arguments, the first is which is the type we want to use, and the second is a or list of fields we want to select from the type we are using. We write it like this: . For example, let's make a new type which only has and : Pick Type union type Type&lt;User, "fields" | "to" | "include"> firstName lastName type User = { firstName: string, lastName: string, age: number } type UserName = Pick<User, "firstName" | "lastName"> Now, using our new type, , we can define a variable consisting only of and : UserName firstName lastName let user:UserName = { firstName: "John", lastName: "Doe" } If we wanted to create a new type, which only contained the user's age, we could also use . Here is the example: Pick type User = { firstName: string, lastName: string, age: number } type UserAge = Pick<User, "age"> let age:UserAge = { age: 1534 } As you can see, the type is very useful in creating custom types based on already existing ones. Now that you've mastered it, you can simplify your type declarations. Pick