midTypeScript
What is 'Partial' and how is it implemented under the hood?
Updated May 4, 2026
Short answer
Partial<T> makes all properties of an object type optional.
Deep explanation
Partial is one of the most common built-in utility types. It is implemented using a mapped type. It iterates over all keys of the provided type T and appends the ? modifier to each property, making it possible to provide only a subset of the object's properties.
Real-world example
Handling 'PATCH' requests in an API where the user only sends the specific fields they wish to update.
Common mistakes
- Using `Partial` when you actually need a type where at least one property is required.
Follow-up questions
- What is the opposite of Partial?