Easy TypeScript Challenges

Start your TypeScript journey with these beginner-friendly challenges

#4

Pick

Learn to implement TypeScript's built-in Pick utility type from scratch. Master type manipulation and generic constraints with this easy-level TypeScript challenge on TypeScriptPro.

Easy
#7

Readonly

Learn to implement TypeScript's built-in Readonly utility type from scratch. Master readonly properties and mapped types with this easy-level TypeScript challenge on TypeScriptPro.

Easy
#11

Tuple to Object

Transform TypeScript tuples into object types with this easy-level challenge. Learn about const assertions, mapped types, and literal types on TypeScriptPro.

Easy
#14

First of Array

Extract the first element type from TypeScript arrays and tuples. Master indexed access types and conditional types in this easy-level challenge on TypeScriptPro.

Easy
#18

Length of Tuple

Get the length of TypeScript tuples at the type level. Learn about tuple types and the length property in this easy-level challenge on TypeScriptPro.

Easy
#43

Exclude

Implement TypeScript's built-in Exclude utility type from scratch. Master conditional types and type distribution in this easy-level challenge on TypeScriptPro.

Easy
#189

Awaited

Unwrap Promise types recursively with TypeScript. Learn conditional types, infer keyword, and recursive types in this easy-level challenge on TypeScriptPro.

Easy
#268

If

Implement conditional logic at the type level with TypeScript. Master conditional types and type constraints in this easy-level challenge on TypeScriptPro.

Easy
#533

Concat

Implement array concatenation at the type level with TypeScript. Learn about tuple types and the spread operator in this easy-level challenge on TypeScriptPro.

Easy
#898

Includes

Check if an array includes a value at the type level. Learn about recursive types and type equality in this easy-level TypeScript challenge on TypeScriptPro.

Easy
#3057

Push

Add elements to the end of tuples with TypeScript's type system. Master the spread operator and tuple manipulation in this easy-level challenge on TypeScriptPro.

Easy
#3060

Unshift

Add elements to the beginning of tuples with TypeScript. Learn tuple manipulation and spread operators in this easy-level challenge on TypeScriptPro.

Easy
#3312

Parameters

Extract function parameter types with TypeScript. Master the infer keyword and function type manipulation in this easy-level challenge on TypeScriptPro.

Easy
#20744

Overwrite Type With Type Of Child

Flatten a nested data property into its parent object type at every depth, using Omit, an intersection and a mapped type that rebuilds one flat result.

Easy
#36630

MyEqual

Rebuild the Equal utility that type-challenges uses to grade every other challenge. The obvious mutual-extends check distributes over unions and returns boolean.

Easy
#38148

JSONValue

Build a recursive union type that models every value JSON.parse can return, and learn why an object type is accepted where an interface of the same shape is not.

Easy

Ready for more? Try our medium challenges or browse all TypeScript challenges!