TypeScript / Intermediate

TypeScript โ€” Intermediate

Build generic relationships, module contracts, strict checks, and two-layer tests.

6 lessons ยท No account required

What you will learn

  • Explain the static and runtime obligations of the levelโ€™s interfaces.
  • Solve worked exercises and reproduce complete examples under the stated compiler settings.
  1. Generics and key relationships

    Preserve useful relationships across calls instead of replacing them with any, and constrain generic operations to capabilities actually required.

    Start learning
  2. Mapped types and utility types

    Derive related object views while preserving deliberate optionality and mutation policy, without confusing a type transformation with runtime object processing.

    Start learning
  3. Conditional and template literal types

    Compute useful type relationships without pretending the checker executes data transformations or proves unlimited recursive models.

    Start learning
  4. Modules, resolution, and declarations

    Align the checker with the actual module host, distinguish type-only dependencies from runtime imports, and treat declaration files as claims about real implementations.

    Start learning
  5. Strict flags and error boundaries

    Choose compiler checks deliberately, interpret the uncertainty they expose, and handle thrown values without pretending every exception has an Error shape.

    Start learning
  6. Testing types and runtime behavior

    Test static contracts and actual JavaScript outcomes separately, then preserve small reproducible fixtures for configuration and compiler changes.

    Start learning
Back to course