Learn TypeScript to ship a real typed project in two months
TypeScript is JavaScript with a type system bolted on, so this path assumes you already write JavaScript — if you don't, learn that first. Two months at 45 minutes a day, roughly 50 hours, on the official handbook, a free interactive tutorial, and one project you convert and type properly. You will not be a type-level wizard. You will catch your own bugs before they ship.
2 months · ~50 hours · convert a real JS project to strict TypeScript with no any
0.You need JavaScript first
TypeScript only adds types to JavaScript; it does not replace the language underneath. If you can't already write a function, an array method, a promise, and an ES module in plain JavaScript, stop here — the type errors will be noise to you. Spend a month on the fundamentals first, then come back.
Free
Learn JavaScript first →1.The official TypeScript Handbook
The handbook at typescriptlang.org is the canonical reference and it is free. Start with "TypeScript for JavaScript Programmers," then read the handbook straight through: everyday types, narrowing, functions, object types, generics. Do every example in the in-browser Playground so you can see the inferred types live. Treat the compiler errors as the lesson — the whole point of TypeScript is that it tells you what's wrong before you run anything.
Free
The TypeScript Handbook →2.Total TypeScript — free tutorials
Matt Pocock is the most trusted TypeScript educator working today, and his free, exercise-driven tutorials are the best way to make the handbook stick. Start with the Beginner's TypeScript Tutorial: 18 lessons, each a broken bit of code you fix in the editor with a video explanation. The handbook tells you what the types mean; these tutorials drill the muscle memory of actually writing them. The paid workshops can wait until you have a job that needs them.
Free tutorials; paid pro workshops optional later
Total TypeScript tutorials →3.Convert a real JavaScript project to strict TypeScript
Take a small JavaScript project you already have — a personal script, a tiny web app, an Express API — and migrate it. Rename files to .ts, turn on strict in tsconfig, and fix every error until it compiles clean with zero uses of any. You will fight the type system over function arguments, API responses, and third-party libraries; learning to model those is the entire skill. This is where TypeScript stops being syntax you memorize and becomes a tool that catches your mistakes.
Free
Migration guide (reference) →If this doesn't fit you
If you're a React developer and your only goal is to type components, props, and hooks, skip the general handbook deep-dive and go straight to the React-specific cheatsheet at react-typescript-cheatsheet.netlify.app, then convert a React app. The general path teaches the type system; the React cheatsheet teaches the dozen patterns you actually hit in a component tree.
Why this path
Most people learn TypeScript by sprinkling any everywhere until the red squiggles go away, which gives them none of the safety and all of the friction. The bottleneck is never the syntax — it is the discipline of modeling your data honestly. The handbook gives you the vocabulary, Total TypeScript drills the patterns, and the strict conversion forces you to confront the places where your JavaScript was quietly lying about its shapes. Skip the conversion and you'll have read about TypeScript without ever having earned its payoff.