Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/typescript-exercises/typescript-exercises/llms.txt

Use this file to discover all available pages before exploring further.

Congratulations on working through the TypeScript exercises! Whether you’ve completed them all or are still in progress, these resources will help you continue your TypeScript journey.

Official TypeScript Documentation

The TypeScript team maintains excellent documentation that covers everything from basics to advanced topics.

TypeScript Handbook

The comprehensive guide to TypeScript. Start here for in-depth explanations of all TypeScript features.

Release Notes

Stay up-to-date with the latest TypeScript features and improvements. Essential for understanding new capabilities.

TypeScript Playground

Experiment with TypeScript in your browser. Great for testing concepts and sharing code examples.

What's New

Explore recent TypeScript releases and their new features. TypeScript evolves rapidly!

Effective TypeScript

Highly recommended by the TypeScript community and referenced in Exercise 16.
Effective TypeScript by Dan Vanderkam This book provides 62 specific ways to improve your TypeScript code. It goes beyond basic syntax to teach you:
  • How to think in TypeScript’s structural type system
  • Best practices for type design
  • Common pitfalls and how to avoid them
  • Advanced techniques for type manipulation
  • Performance considerations
If you can only read one TypeScript book, make it this one. It’s practical, concise, and full of actionable advice.

Other Notable Books

Programming TypeScript

By Boris Cherny. Comprehensive guide covering TypeScript from first principles through advanced patterns.

TypeScript Quickly

By Yakov Fain and Anton Moiseev. Fast-paced introduction with practical examples for experienced developers.

Learning TypeScript

By Josh Goldberg. Beginner-friendly introduction with exercises and real-world examples.

Tackling TypeScript

By Dr. Axel Rauschmayer. Deep dive into TypeScript’s type system with detailed explanations.

Key Handbook Sections by Exercise Topic

Here are the most relevant handbook sections mapped to the concepts covered in the exercises:

Basic Typing (Exercises 1-2)

Object TypesLearn how to define and work with interfaces and type aliases.

Everyday TypesCover the fundamental types you’ll use in every TypeScript project.

Union Types & Type Narrowing (Exercises 3-4)

NarrowingUnderstand type guards, the in operator, and type predicates for working with unions.

Utility Types (Exercises 5, 8)

Utility TypesMaster built-in types like Partial, Required, Pick, Omit, Record, and more.

Intersection TypesCombine multiple types into one with the & operator.

Generics (Exercises 7, 10, 14)

GenericsCreate reusable, flexible type-safe components and functions.

Tuple TypesWork with fixed-length arrays where each element has a specific type.

Type Declarations (Exercises 11-12)

Ambient ModulesProvide type declarations for JavaScript libraries without TypeScript types.

Declaration FilesUnderstand .d.ts files and how to create type declarations.

Module Augmentation (Exercise 13)

Declaration MergingExtend existing interfaces and modules with additional properties and methods.

Advanced Types (Exercise 15)

Mapped TypesTransform types by iterating over their properties.

Conditional TypesCreate types that depend on conditions, enabling powerful type transformations.

Template Literal TypesManipulate string literal types with template syntax.

Online Courses & Tutorials

Execute Program

Interactive TypeScript course with spaced repetition for better retention.

TypeScript Deep Dive

Free online book covering TypeScript comprehensively, from basics to advanced patterns.

Total TypeScript

Premium workshops and tutorials by Matt Pocock, focused on advanced TypeScript patterns.

TypeScript Course (freeCodeCamp)

Free comprehensive video course covering TypeScript fundamentals.

Community & Learning Platforms

TypeScript Community

TypeScript DiscordJoin thousands of TypeScript developers. Ask questions, share knowledge, and stay updated.

r/typescriptActive subreddit for TypeScript discussions, questions, and news.

Practice Platforms

Type Challenges

Collection of TypeScript type challenges ranging from easy to extreme difficulty.

Exercism TypeScript Track

Free coding exercises with mentorship to improve your TypeScript skills.

TypeScript Exercises

The exercises you’re currently working through! Revisit them to reinforce learning.

DefinitelyTyped

Contribute type definitions for popular JavaScript libraries. Real-world TypeScript practice!

Advanced Topics to Explore

Once you’ve mastered the basics, dive into these advanced areas:

Type-Level Programming

Create types that reference themselves, useful for tree structures and nested data.
type JSONValue = 
    | string
    | number
    | boolean
    | null
    | JSONValue[]
    | { [key: string]: JSONValue };
Manipulate and generate string types programmatically.
type EventName<T extends string> = `on${Capitalize<T>}`;
type ClickEvent = EventName<"click">; // "onClick"
Create deeply immutable and literal types.
const routes = {
    home: '/home',
    about: '/about'
} as const;

type Route = typeof routes[keyof typeof routes]; // '/home' | '/about'

Design Patterns in TypeScript

TypeScript Design PatternsLearn how classic design patterns work with TypeScript’s type system.

TypeScript with Frameworks

React + TypeScript

Learn typed React components, hooks, and patterns. Check out React TypeScript Cheatsheet.

Node.js + TypeScript

Build type-safe backend applications with Express, Fastify, or NestJS.

Vue + TypeScript

Use TypeScript with Vue 3’s Composition API for better type inference.

Angular

Angular is built with TypeScript. Explore its advanced type usage and decorators.

TypeScript Tooling

Great tooling makes TypeScript more powerful and enjoyable to use.

Essential Tools

ts-node

Execute TypeScript directly in Node.js without compilation step.

tsx

Faster alternative to ts-node with ESM support.

tsc-watch

Watch mode for TypeScript compiler with custom hooks.

ts-pattern

Exhaustive pattern matching library with excellent TypeScript support.

Type Checking Tools

tsd

Test your TypeScript type definitions.

dtslint

Linter for TypeScript declaration files, used by DefinitelyTyped.

ts-morph

Programmatically navigate and manipulate TypeScript code.

type-fest

Collection of essential TypeScript types for any project.

Blogs & Newsletters

Stay current with TypeScript developments:

TypeScript Blog

Official TypeScript team blog with release announcements and deep dives.

Matt Pocock's Blog

Advanced TypeScript tips and tricks from a TypeScript wizard.

TypeScript Weekly

Weekly newsletter with TypeScript articles, tools, and news.

Stefan Baumgartner's Blog

In-depth TypeScript articles covering advanced topics.

Contributing to TypeScript

The best way to master TypeScript is to contribute to the ecosystem!

TypeScript GitHub

Contribute to TypeScript itself. Start with “good first issue” labels.

DefinitelyTyped

Add or improve type definitions for JavaScript libraries.

TypeScript Exercises

Contribute new exercises or improvements to this project!

What’s Next?

After completing these exercises, consider:
  1. Build a real project - Apply TypeScript to a personal project. Nothing beats hands-on experience.
  2. Try Type Challenges - Test your skills with increasingly difficult type puzzles.
  3. Read Effective TypeScript - Deepen your understanding with expert insights.
  4. Contribute to open source - Help improve type definitions or TypeScript tooling.
  5. Share your knowledge - Write about what you learned, help others on forums.

Support the Creator

These exercises were created by Marat Dulin (mdevils.com).If you found them valuable, consider supporting:
Remember: TypeScript mastery is a journey, not a destination. Keep practicing, stay curious, and enjoy the type safety!