TypeScript Beginner → Intermediate ~10 weeks

TypeScript: From Beginner to Intermediate

Adding `: string` to a few function parameters is where most people's TypeScript stops, and it is roughly ten percent of the value on offer. The intermediate stage is where the type system starts working for you instead of at you: unions that make invalid states impossible, narrowing that removes the need for defensive checks, and generics that let one function serve many types without falling back to `any`.

Generate my free course

Free to start · no credit card · the outline below is an example, yours is generated around your goals

What this path covers

  • Type inference
  • Unions and narrowing
  • Generics
  • Interfaces and type aliases
  • tsconfig
  • Typing third-party code

Sample curriculum

An example outline for going from beginner to intermediate in TypeScript. Your generated course adapts this to your experience, target level and available study time.

  1. Let Inference Do the Work

    Where TypeScript already knows the type and annotations only add noise, and the specific places — function boundaries and exported APIs — where writing them explicitly pays.

  2. Unions, Literals and Narrowing

    Modelling states as unions rather than optional flags, discriminated unions, and how typeof, in and custom type guards narrow a type as control flow proceeds.

  3. Generics Without the Headache

    Writing your first generic function, constraining type parameters with extends, and recognising the moment a generic is solving a real problem rather than showing off.

  4. Interfaces, Types and Structural Typing

    Why TypeScript compares shapes rather than names, when to reach for interface against type, and composing types with intersections and utility types like Pick and Omit.

  5. Configuring the Compiler

    The tsconfig options that actually change your life — strict, strictNullChecks, noUncheckedIndexedAccess — and enabling strict mode on an existing project incrementally.

  6. Typing Data From Outside

    API responses, unknown against any, runtime validation at the boundary, and installing or writing declaration files for untyped libraries.

TypeScript beginner-to-intermediate questions

How much JavaScript do I need before learning TypeScript?

Enough to be comfortable with functions, objects, arrays and async. TypeScript adds a type layer over JavaScript semantics — it does not replace them, so gaps in JavaScript become gaps in TypeScript.

Why does everyone say to avoid `any`?

Because `any` switches the type checker off for that value and everything it touches, usually silently. The intermediate skill is reaching for `unknown` plus narrowing instead, which the course treats as a core habit.

Is TypeScript worth it for a small solo project?

Often yes, for the editor autocomplete alone. The clearer win is any project you return to after a month, where the types are the documentation you did not write.

Where to go next

Related reading

Ready to start TypeScript?

TypeScript is JavaScript with a type system that catches bugs before runtime. Tell LearnForge where you are now and where you want to get to, and it builds the course around that.

Generate my free course