Grokking TypeScript

Learn TypeScript step by step: types, functions, interfaces, classes, generics, advanced types, async code, modules, and React, tested on TypeScript 7.

Level:
Beginner
Study Time:
11h
Lessons:
59
Assessments:
106
Updated
Yesterday
4.4
(129 ratings)
1,193 learners
Arslan Ahmad
Created byArslan Ahmad
Ex FAANG Manager, Expert Behind Grokking TypeScript

Course Overview

TypeScript adds a type system to JavaScript. You describe what each value should be, and the compiler checks your code against that description before the program runs. The types are then removed, so the program that runs is plain JavaScript. This course teaches you to write those types and to predict what the compiler will report, infer, and leave unchecked. You start with type annotations and inference, then learn unions, literal types, and enums. Next you type functions, describe objects with interfaces, and build classes with inheritance and abstract classes. The middle of the course covers generics and advanced types: type guards, conditional types, mapped types, template literal types, and utility types. Later chapters apply the types to real work. You type promises and API responses, organize code with modules, and type React components and hooks. The last chapter covers compile time in large projects, strict mode, and common mistakes. Every example was compiled and run on TypeScript 7, so the errors you read are the errors the compiler printed. Every chapter ends with an assessment that explains each answer.

Grokking TypeScript Image
This course
Lifetime access to this course
One-time payment. Yours forever.
All 60 courses
Annual plan
Discussions
Certificate
Free updates
Own everything, once
Grokking TypeScript Image
This course
Lifetime access to this course
One-time payment. Yours forever.
All 60 courses
Annual plan
Discussions
Certificate
Free updates
Own everything, once

What you'll learn in Grokking TypeScript

  • Explain what the compiler checks, what it leaves unchecked, and why types are removed before a program runs.
  • Type functions with call signatures, optional, default, and rest parameters, arrow functions, and overloads.
  • Build classes with inheritance, static members, access modifiers, readonly properties, accessors, and abstract classes.
  • Narrow values safely with type guards, and know when a type assertion hides a mistake.
  • Type promises, async functions, and API responses, and handle the failures that Fetch and Axios report differently.
  • Type React components, props, events, and hooks.
  • Work with strict mode and avoid common mistakes like overusing any.
  • Use type annotations and inference, unions, literal types, enums, and intersections in everyday code.
  • Describe objects with object types and interfaces, and decide when to use an interface or a type alias.
  • Write generic functions, classes, and interfaces, and limit them with constraints.
  • Create new types with conditional types, mapped types, template literal types, recursive types, and utility types.
  • Organize code with modules, named and default exports, re-exports, and index files, and read older code that uses namespaces.
  • Reduce compile time in large projects with incremental builds and project references.

Course Content

• 12 Chapters • 59 Lessons
1.

Course Introduction

1 lesson

Course Overview

The Evolution of JavaScript and Need for TypeScript

Benefits of Using TypeScript

Comparing JavaScript vs TypeScript

Chapter Assessment: Introduction to TypeScript

What people say about our courses

Steven Zhang avatar
Steven Zhang
Software Engineer
Just wanted to say thanks for your Grokking the system design interview resource (https://lnkd.in/g4Wii9r7) - it helped me immensely when I was interviewing from Tableau (very little system design exp) and helped me land 18 FAANG+ jobs!
Roger Cruz avatar
Roger Cruz
Software Engineer
The world gets better inch by inch when you help someone else. If you haven't tried Grokking The Coding Interview, check it out, it's a great resource!
Arijeet avatar
Arijeet
Software Engineer
Just completed the “Grokking the system design interview”. It's amazing and super informative. Have come across very few courses that are as good as this!
Ashley Pean avatar
Ashley Pean
Software Engineer
Check out Grokking the Coding Interview. Instead of trying out random Algos, they break down the patterns you need to solve them. Helps immensely with retention!
Simon Barker avatar
Simon Barker
Software Engineer
This is what I love about http://designgurus.io’s Grokking the coding interview course. They teach patterns rather than solutions.
Eric avatar
Eric
Software Engineer
I've completed my first pass of "grokking the System Design Interview" and I can say this was an excellent use of money and time. I've grown as a developer and now know the secrets of how to build these really giant internet systems.

About the Author

Arslan Ahmad

Arslan Ahmad

Design Gurus Founder
Ex-FAANG Manager
Meta
Microsoft
Google
Amazon
Uber

Industry Expertise & Leadership

Arslan Ahmad is the lead author of Grokking TypeScript. As the founder of Design Gurus and a former FAANG hiring manager, he has worked at industry giants like Facebook (now Meta) and Microsoft.

He has conducted hundreds of system design interviews, giving him unique insight into what top tech companies look for in candidates.

The course also incorporates expertise from senior engineers at Google, Meta, Amazon, Microsoft, and Uber, ensuring you learn system design best practices from professionals who have built and scaled real-world systems.

500+

Interviews Conducted

10k+

Students Taught

Related Courses

Grokking the Coding Interview: Patterns for Coding Questions
The 24 essential patterns behind every coding interview question. Available in Java, Python, JavaScript, C++, C#, and Go. The most comprehensive coding interview course with 543 lessons. A smarter alternative to grinding LeetCode.
4.6
198K learners
Discounted price for Your Region

$197

Grokking React Fundamentals
4.4
889 learners
Discounted price for Your Region

$48

Grokking JavaScript Fundamentals
Learn to code in JavaScript and kickstart your web development journey with our beginner-friendly course.
5
631 learners
Discounted price for Your Region

$48

FAQs

It is a course on TypeScript, the language that adds a type system to JavaScript. It starts with type annotations and inference, then covers functions, object types and interfaces, classes, generics, advanced types, asynchronous code, modules, React, compile-time performance, and common mistakes.

It is for JavaScript developers who have not used TypeScript or any other typed language, and for developers who already use TypeScript and want to understand what the compiler is doing. It does not assume any earlier experience with types.

You need a working knowledge of JavaScript. The chapter on TypeScript with React also assumes that you know React basics, and you can skip it if you do not use React.

You need Node.js and a code editor. An early lesson shows how to install the compiler, and the React chapter shows how to create a project with Vite. The course does not include a coding environment in the browser, so you run the examples on your own computer.

The examples were compiled and run on TypeScript 7, the current release at the time of the review, and the compiler errors in the lessons are real output. The lessons also say where current behavior differs from older projects, like strict mode being on by default.

Yes. Every chapter ends with an assessment, and each attempt draws a set of questions from a larger pool, so a second attempt gives you different questions. Most questions describe a piece of code and ask what the compiler reports or infers, and every option comes with an explanation.

Yes. You write generic functions, classes, and interfaces and limit them with constraints. You then learn type guards, type assertions, conditional types with infer, mapped types, template literal types, recursive types, and the built-in utility types.

Yes. You set up a project, type components and props, type events and callback props, and type the useState, useEffect, useRef, useContext, and useReducer hooks. The examples were run on React 19.

No, and the course explains why. Types are removed before the program runs, so a type on an API response is only a claim about the data. The lessons show what happens when that claim is wrong, and how to check the data yourself.

It does not teach decorators, testing, writing declaration files, backend frameworks, or frameworks built on React like Next.js. You will need other material for those subjects.

Design Gurus logo
One-Stop Portal For Tech Interviews.
About Us
Our Team
Careers
Partners
Contact Us
Become Affiliate
Copyright © 2026 Design Gurus, LLC. All rights reserved.