TypeScript Challenges
Test your TypeScript skills with our collection of type challenges. From beginner-friendly utility types to extreme advanced scenarios that will push your understanding to the limit.
Filter Challenges
Infer: Function Parameters
Easy
Infer
Conditional Types
Infer: Return Type of Function
Easy
Infer
Conditional Types
Currying 1
Hard
Infer
Recursion
String: Replace All
Medium
Template literal
Recursion
String: Replace
Medium
Template literal
String: Capitalize
Medium
Conditional Types
Template literal
Lookup Types
String: StringToUnion
Medium
Template literal
Recursion
String: EndWith
Medium
Template literal
Recursion
String: StartWith
Medium
Template literal
Recursion
Array: Join
Medium
Template literal
Recursion
String: Drop Char
Medium
Template literal
Recursion
String: SplitEmail
Easy
Template literal
String: Route Path Interpolation As Union Type
Medium
Template literal
Recursion
String: Trim
Medium
Conditional Types
Template literal
Recursion
String: TrimRight
Medium
Conditional Types
Template literal
Recursion
String: TrimLeft
Medium
Conditional Types
Template literal
Recursion
Route Path Interpolation
Hard
Mapped Types
Template literal
Recursion
Infer
Conditional Types
Deep Lookup Object Property By Tuple
Medium
Conditional Types
Mapped Types
Recursion
SplitStringByDots
Medium
Infer
Conditional Types
Template literal
Recursion
NestedPick
Hard
Conditional Types
Mapped Types
Template literal
Recursion
Infer
Variadic Tuple Types
If
Easy
Conditional Types