Block 03 · TYPED JAVASCRIPT PATH

TypeScript

Seventeen imported modules from first type annotations through advanced conditional and mapped types.

21 modules88 activitiesAbout 50 hoursBeginner to advancedLesson → Quiz → Exercise → Project

Before you begin

Prerequisites

Hidden — select the eye to show

What you will master

Course outcomes

Hidden — select the eye to show

Final proof of skill

Mastery capstone

Hidden — select the eye to show

Completion standard

Earn the Mastery title

Hidden — select the eye to show

Progress one module at a time

Course map

  1. Module 014 activities

    What is TypeScript?

    TypeScript is a language developed by Microsoft in 2012 — it is JavaScript with a type system. You specify what types your variables, functions, and objects should hold, and TypeScript compiles ("transpiles") that down to plain JavaScript that runs anywhere JS runs.

    LessonQuizExerciseProject
    Start module
  2. Module 024 activities

    Primitive Types

    TypeScript's core primitives are string (text), number (any numeric value — int, float, hex), and boolean (true/false).

    LessonQuizExerciseProject
    Start module
  3. Module 034 activities

    Arrays & Tuples

    Arrays hold multiple values of the same type — TypeScript enforces this at compile time.

    LessonQuizExerciseProject
    Start module
  4. Module 044 activities

    Objects & Interfaces

    An interface defines the shape of an object — which properties it has, their types, and whether they are optional or readonly. Interfaces are reusable and can be extended.

    LessonQuizExerciseProject
    Start module
  5. Module 054 activities

    Functions

    Functions are reusable blocks of code. In TypeScript you can explicitly type parameters and return types, preventing errors like passing the wrong argument type or misusing a return value.

    LessonQuizExerciseProject
    Start module
  6. Module 064 activities

    Union Types

    Union types let a variable hold values of more than one type using the | (pipe) operator.

    LessonQuizExerciseProject
    Start module
  7. Module 074 activities

    Classes

    Classes are blueprints for creating objects. TypeScript adds access modifiers and strict typing on top of JavaScript classes.

    LessonQuizExerciseProject
    Start module
  8. Module 084 activities

    Generics

    Generics let you write reusable code that works with different types while staying type-safe. They use the <T> syntax.

    LessonQuizExerciseProject
    Start module
  9. Module 094 activities

    Enums

    Enums let you define a set of named constants, making code more readable and self-documenting.

    LessonQuizExerciseProject
    Start module
  10. Module 104 activities

    Type Narrowing

    Type narrowing is how TypeScript figures out a more specific type from a broad one using guards or assertions.

    LessonQuizExerciseProject
    Start module
  11. Module 114 activities

    Modules

    Modules split code into separate files using export and import.

    LessonQuizExerciseProject
    Start module
  12. Module 124 activities

    Utility Types

    TypeScript ships with built-in generic helper types: Partial, Required, Pick, Omit, Record, ReturnType, NonNullable.

    LessonQuizExerciseProject
    Start module
  13. Module 134 activities

    Decorators

    Decorators are functions that wrap other code. They start with @ and sit above a class, method, property, or parameter.

    LessonQuizExerciseProject
    Start module
  14. Module 144 activities

    tsconfig.json

    TypeScript uses tsconfig.json to understand how to compile your project. Generate it with `tsc --init`.

    LessonQuizExerciseProject
    Start module
  15. Module 154 activities

    TypeScript + React

    TypeScript enhances React with typed props, typed state, typed refs, and typed events.

    LessonQuizExerciseProject
    Start module
  16. Module 164 activities

    TypeScript + Node.js

    TypeScript works seamlessly with Node.js and Express for type-safe server code.

    LessonQuizExerciseProject
    Start module
  17. Module 174 activities

    Advanced Types

    The deep end of TypeScript: conditional types, mapped types, template literal types, and infer.

    LessonQuizExerciseProject
    Start module
  18. Module 185 activities

    Strict Type Safety & Error Modeling

    Use strict mode, unknown, never, discriminated results, exhaustive checks, and safe error boundaries.

    LessonQuizExerciseReviewProject
    Start module
  19. Module 195 activities

    Typed APIs & Runtime Validation

    Separate compile-time types from untrusted runtime data and validate API boundaries before values enter the application.

    LessonQuizExerciseReviewProject
    Start module
  20. Module 205 activities

    TypeScript Testing & Architecture

    Test typed functions, design dependency boundaries, use fakes, and keep domain logic independent from frameworks.

    LessonQuizExerciseReviewProject
    Start module
  21. Module 215 activities

    TypeScript Mastery Capstone

    Combine strict types, generics, validation, modules, tests, and framework integration in one production-style application.

    LessonQuizExerciseReviewProject
    Start module