The Pick type creates a new type by selecting specific properties from an existing type. It helps to focus on only the needed parts of a type.
Click to reveal answer
beginner
How do you use Pick to select properties 'name' and 'age' from a type Person?
You write: type PersonInfo = Pick<Person, 'name' | 'age'>; This creates a new type with only name and age from Person.
Click to reveal answer
intermediate
Why is Pick useful in real projects?
It helps to reuse existing types but only keep the parts you need. This makes code simpler and safer by avoiding extra properties.
Click to reveal answer
intermediate
What happens if you try to Pick a property that does not exist in the original type?
TypeScript will give an error because you can only pick keys that exist in the original type.
Click to reveal answer
advanced
Can Pick be combined with other utility types?
Yes! You can combine Pick with types like Partial or Readonly to create flexible and precise types.
Click to reveal answer
What does Pick<T, K> do in TypeScript?
ACreates a new type with only the properties K from type T
BRemoves properties K from type T
CMakes all properties in T optional
DCombines two types T and K
✗ Incorrect
Pick selects specific properties K from type T to create a new type.
Which syntax correctly picks properties 'id' and 'title' from type Book?
APick<Book, {id, title}>
BPick<Book, ['id', 'title']>
CPick<Book, 'id' | 'title'>
DPick<Book, id, title>
✗ Incorrect
The keys must be a union of string literals, like 'id' | 'title'.
What error occurs if you pick a property not in the original type?
ARuntime error
BTypeScript error: Type '"wrongKey"' is not assignable to keys of T
CNo error, property is ignored
DWarning but code compiles
✗ Incorrect
TypeScript checks keys at compile time and errors if keys don't exist.
Can Pick be used to create a type with all properties optional?
ANo, use <code>Partial</code> for that
BYes, <code>Pick</code> makes properties optional
CYes, but only for string properties
DNo, it removes properties instead
✗ Incorrect
Pick selects properties but does not change optionality; Partial makes properties optional.
Which utility type can be combined with Pick to make picked properties readonly?
APartial
BExclude
CRecord
DReadonly
✗ Incorrect
Readonly makes properties readonly and can wrap a Pick type.
Explain how the Pick type works and give an example of its syntax.
Think about choosing only some keys from a bigger object type.
You got /3 concepts.
Describe a situation where using Pick would make your TypeScript code better.
Imagine you only need a few details from a big object.
You got /3 concepts.
Practice
(1/5)
1. What does the Pick type do in TypeScript?
easy
A. Removes properties from a type.
B. Creates a new type by selecting specific properties from an existing type.
C. Combines two types into one.
D. Makes all properties in a type optional.
Solution
Step 1: Understand the purpose of Pick
The Pick type is used to create a new type by choosing certain properties from an existing type.
Step 2: Compare with other options
Removing properties is done by Omit, combining types by intersection, and making properties optional by Partial.
Final Answer:
Creates a new type by selecting specific properties from an existing type. -> Option B
Quick Check:
Pick selects properties = A [OK]
Hint: Pick selects properties to create smaller types [OK]
Common Mistakes:
Confusing Pick with Omit
Thinking Pick makes properties optional
Mixing Pick with type intersections
2. Which of the following is the correct syntax to create a type PersonName with only name and age properties from Person using Pick?
easy
A. type PersonName = Pick;
B. type PersonName = Pick;
C. type PersonName = Pick;
D. type PersonName = Pick;
Solution
Step 1: Recall Pick syntax
Pick takes two parameters: the original type and a union of property names as string literals.
Step 2: Identify correct union syntax
The union of keys is written as 'name' | 'age' inside quotes and separated by |.
Final Answer:
type PersonName = Pick; -> Option A
Quick Check:
Pick syntax uses union of strings = B [OK]
Hint: Use quotes and | to list keys in Pick [OK]
Common Mistakes:
Omitting quotes around keys
Using array syntax instead of union
Passing keys as object instead of union
3. Given the type interface User { id: number; name: string; email: string; } and type UserPreview = Pick;, what is the type of userPreview in this code?
A. The interface Product is missing a 'cost' property.
B. Pick cannot be used with more than one key.
C. 'cost' is not a key of Product, causing a type error.
D. The syntax for Pick is incorrect; keys should be in an array.
Solution
Step 1: Check keys used in Pick
Pick requires keys to exist in the original type. 'cost' is not a key in Product.
Step 2: Understand TypeScript error
Using a non-existent key causes a type error because Pick cannot select keys that don't exist.
Final Answer:
'cost' is not a key of Product, causing a type error. -> Option C
Quick Check:
Pick keys must exist in type = C [OK]
Hint: Pick keys must match existing properties exactly [OK]
Common Mistakes:
Using keys not in the original type
Thinking Pick keys can be arrays
Assuming Pick works with any string keys
5. You have a type interface Employee { id: number; name: string; department: string; salary: number; }. You want to create a type EmployeeSummary that includes only id, name, and a new property departmentCode which is a string. How can you do this using Pick and adding the new property?
hard
A. type EmployeeSummary = Pick & { departmentCode: string };
B. type EmployeeSummary = Pick;
C. type EmployeeSummary = Omit & { departmentCode: string };
D. type EmployeeSummary = Partial<Employee> & { departmentCode: string };
Solution
Step 1: Use Pick to select existing keys
Pick 'id' and 'name' from Employee to get those properties only.
Step 2: Add new property with intersection
Use & to add a new property 'departmentCode' with type string to the picked type.
Final Answer:
type EmployeeSummary = Pick & { departmentCode: string }; -> Option A
Quick Check:
Pick keys + add new property with & = D [OK]
Hint: Combine Pick with & to add new properties [OK]
Common Mistakes:
Trying to Pick a non-existent property
Using Omit instead of Pick incorrectly
Using Partial which makes all properties optional
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.