Learn TypeScript one clear step at a time.
Start with the language basics before tackling type puzzles. Each short exercise introduces one idea, explains why it matters, and gives you room to practice it in a TypeScript editor.
20
Foundation exercises
100%
Free to access
Beginner
Starting level
Start here
TypeScript foundations
Complete these in order. Later lessons will build on the vocabulary and patterns introduced here.
Dashboard Greeting Composer
Add basic TypeScript annotations while creating a friendly message from a learner name.
Lesson Progress Meter
Use typed number parameters to calculate how much of a lesson remains.
Milestone Status Line
Read values from a typed object and return a simple progress summary.
Focus Route Caption
Use a string union to keep a small set of learning modes predictable.
Study Tag Tidy-Up
Define a precise string-literal union for the first study tags.
Checkpoint Tally
Model one checkpoint with a small object type.
Learner Contact Snapshot
Represent an optional contact field in a TypeScript interface.
Lesson Clock Lookup
Use Record to describe a typed lesson-duration lookup.
Feedback Signal
Model feedback that may not exist yet.
Learning Activity Line
Define two activity shapes with a discriminated union.
First Saved Resource
Preserve an unknown resource value with a generic wrapper.
Position Your Resources
Carry a generic resource type through a position object.
Profile Draft Merge
Use Partial to model a draft that can update any profile field.
Profile Detail Reader
Derive valid field names from an interface with keyof.
Save State Message
Model UI save states as a discriminated union.
Safe Checklist Copy
Make a checklist shape readonly with a built-in utility type.
Weekly Minutes Total
Combine a day union with Partial Record for a weekly log.
Outcome Check
Create a generic success-or-error result type.
Lesson Order Switch
Use a generic type to describe a labelled lesson response.
Today's Study Snapshot
Recap object and array types by modelling a study summary.