Software EngineeringWeb DevelopmentIntermediate

TypeScript for Working Developers

Generics, inference, and the type system patterns you actually use.

4.7 (95) 38 lessons · 5 modules 12h1.1k studentsLanguage: English

Taught by

Rohan Kapoor

Engineering Manager at Zomato · Gurugram

What you’ll learn

  • How TypeScript narrows types and why it matters
  • A pragmatic approach to generics
  • Conditional and mapped types for real codebases
  • Type-safe API contracts
  • When to use any and when not to

About this course

A TypeScript course for developers who already write JavaScript and want to use TypeScript well — not just “add types” but actually leverage the type system. Focused on patterns you will use in a real codebase, not academic type gymnastics.

Curriculum

5 modules · 38 lessons · 12h

1

Type narrowing and control flow

2 lessons

How TypeScript understands your code.

  • Narrowing with typeof and instanceofPreview14 min
  • Discriminated unions16 min
2

Generics that do not hurt your brain

2 lessons

A practical approach to generics.

  • Generic functions18 min
  • Conditional types20 min

Requirements

  • 1+ year of JavaScript
  • Basic TypeScript familiarity (interfaces, types)

Who this course is for

  • JavaScript developers moving to TypeScript
  • Developers who know basic TS but want to go deeper
  • Anyone who has fought with TS and lost

Your tutor

Rohan Kapoor

Engineering Manager at Zomato · Gurugram

4.8 (187)2.4k students3 courses

Full-stack engineer turned manager. Shipped the Zomato ordering rewrite and the Hyperpure B2B platform. Teaches React and Node with the pragmatism of someone who has been on call for both.

Student reviews

4.7

95 ratings

5
78%
4
16%
3
4%
2
1%
1
1%

Ravi Teja

18 Aug 2024

27 found this helpful

Generics finally clicked

I had read the TypeScript handbook three times and generics still confused me. Rohan’s practical approach made it click in one sitting.

Frequently asked questions

Do I need to know TypeScript already?
Basic familiarity helps (interfaces, type aliases). The first module covers the fundamentals quickly.