What's Next?

Congratulations

You have completed all 15 lessons. You now have a solid foundation in TypeScript: type annotations, interfaces, union types, type narrowing, generics, classes, enums, readonly, and type guards.

That is a real accomplishment. You understand the core type system features that make TypeScript valuable at scale.

What to Explore Next

Here are topics to dive deeper into:

  • Utility Types -- Partial<T>, Required<T>, Pick<T, K>, Omit<T, K>, Record<K, V>, ReturnType<F> — TypeScript's built-in type transformations.
  • Mapped Types -- Transform every property of a type: { [K in keyof T]: ... }.
  • Conditional Types -- T extends U ? X : Y for type-level branching.
  • Template Literal Types -- String manipulation at the type level: \get${Capitalize<string>}``.
  • Declaration Files -- Write .d.ts files to add types to JavaScript libraries.
  • Strict Mode -- Enable strict: true for stricter null checking and better safety.
  • Decorators -- Metadata annotations used heavily in Angular and NestJS.

Build Something

The best way to learn is to build. Some project ideas:

  • A typed REST API client -- define types for requests and responses, with generics for different endpoints
  • A state machine -- use discriminated unions to model application states safely
  • A type-safe event emitter -- generics and mapped types to enforce correct event handler signatures
  • Migrate a JavaScript project -- take an existing JS project and add TypeScript types incrementally

References

  • TypeScript Handbook -- the official guide, comprehensive and well-written.
  • TypeScript Playground -- write and run TypeScript in the browser, see the compiled JavaScript.
  • Type Challenges -- a collection of type system puzzles to sharpen your skills.
  • Total TypeScript by Matt Pocock -- advanced TypeScript patterns explained clearly.
  • Effective TypeScript by Dan Vanderkam -- 62 specific ways to improve your TypeScript.
  • Programming TypeScript by Boris Cherny (O'Reilly, 2019) -- a comprehensive book on TypeScript for JavaScript developers.
← Previous