Track
typescript
TypeScript
Static types, generics, and tooling that compiles to JavaScript.
- Mode
- client_typescript
- Practice
- In-browser TS
- Lessons
- 32 units
Before you start
A typed superset of JavaScript: annotations, interfaces, generics, narrowing, and project configuration.
Types catch whole classes of bugs before runtime and improve editor support on larger codebases.
Modern front-end apps, Node APIs, and any team that standardizes on TS-first tooling.
Client-side compile-then-run playground, structured modules, enrichment sections, and three MCQs per lesson.
After you are comfortable with JavaScript basics—before React/Vue/Angular tracks that assume TS.
Lesson order
Sequential — follow top to bottom32 lessons are live in this track. Start from step 01 for the smoothest path.
-
01 intro Introduction to TypeScript
beginner
Open → -
02 why-typescript Why TypeScript?
beginner
Open → -
03 ts-vs-javascript TypeScript vs JavaScript
beginner
Open → -
04 setup-and-tooling Setup and tooling
beginner
Open → -
05 primitive-types Primitive types
beginner
Open → -
06 arrays-tuples Arrays and tuples
beginner
Open → -
07 object-types Object types
beginner
Open → -
08 unions-literals Unions and literal types
beginner
Open → -
09 any-unknown-never any, unknown, and never
beginner
Open → -
10 type-assertions Type assertions
beginner
Open → -
11 interfaces Interfaces
intermediate
Open → -
12 type-aliases Type aliases
intermediate
Open → -
13 optional-readonly Optional and readonly
intermediate
Open → -
14 enums Enums
intermediate
Open → -
15 index-signatures Index signatures
intermediate
Open → -
16 typed-functions Typed functions
intermediate
Open → -
17 function-overloads Function overloads
intermediate
Open → -
18 generics-basics Generics basics
intermediate
Open → -
19 generic-constraints Generic constraints
intermediate
Open → -
20 utility-types-intro Utility types (intro)
intermediate
Open → -
21 type-narrowing Type narrowing
intermediate
Open → -
22 discriminated-unions Discriminated unions
intermediate
Open → -
23 exhaustiveness Exhaustiveness checking
intermediate
Open → -
24 nullability Nullability
intermediate
Open → -
25 es-modules-types ES modules and types
intermediate
Open → -
26 tsconfig-basics tsconfig.json basics
intermediate
Open → -
27 strict-mode Strict mode flags
advanced
Open → -
28 declarations-ambient Declarations and ambient types
advanced
Open → -
29 classes-in-ts Classes in TypeScript
intermediate
Open → -
30 typed-api-project Project: typed API client
advanced
Open → -
31 interview-essentials TypeScript interview essentials
advanced
Open → -
32 summary Track summary
beginner
Open →