Codington
0 of 0 problems solved0%

typescript Curriculum

Explore our comprehensive collection of typescript exercises. From basics to advanced patterns.

Easy

Primitives

TypeScript builds on JavaScript by adding types, so we can describe exactly what kind of values a variable

5 challenges
Start
Easy

Functions Basics

Functions are how we structure behavior. In TypeScript, you can describe parameter types and return types so

6 challenges
Start
Easy

Object Types Basics

Objects model real-world entities. In TypeScript, you describe an object's shape by listing its properties

6 challenges
Start
Easy

Arrays

Arrays are ordered lists of values written as T[] or Array<T>: `typescript const numbers: number[] = [1, 2,

6 challenges
Start
Easy

Union & Litteral Types

Union types let a value be one of several possibilities, while literal types restrict values to exact

5 challenges
Start
Easy

Type Aliases

Type aliases give a name to any type so you can reuse it throughout your code: `typescript type UserId =

6 challenges
Start
Easy

Interfaces

Interfaces describe the shape of an object: `typescript interface User { id: number; name: string; email?:

6 challenges
Start
Intermediate

null & undefined

When strict null checks are on, null and undefined must be handled explicitly. This helps you avoid crashes

6 challenges
Start
Intermediate

Type Assertions

Type assertions tell TypeScript how to treat a value. They do not change runtime behavior—they only affect

6 challenges
Start
Intermediate

any (vs unknown)

any turns off type checking completely. It spreads quickly through your code and hides bugs. Prefer unknown

6 challenges
Start
Intermediate

Type Guards & Narrowing

Type guards help the compiler figure out which shape a value has at a given point. When a check succeeds,

6 challenges
Start
Intermediate

Generics Fundamentals

Generics let you write components that work over many types without losing type safety: `typescript function

5 challenges
Start
Advanced

Functions: Call Signatures & Overloads

Functions are the heart of TypeScript programs. You can describe a function's shape with a call signature:

6 challenges
Start
Advanced

Creating Types from Types (Utility Patterns)

Utility types help you reshape and remix existing types without rewriting them: `typescript type User = { id:

7 challenges
Start
Advanced

Object Types (Deep Dive)

This deep dive builds on basic object types with advanced patterns: Intersections – Combine multiple types

6 challenges
Start
Advanced

keyof, typeof & Indexed Access

This category links runtime values to static types using powerful type operators: keyof – Get all property

6 challenges
Start