TypeScript
Use TypeScript to model application behavior, protect boundaries, and keep growing JavaScript codebases maintainable.
Curriculum
Phase 1Type Foundations0/3
Phase 2Reusable Type Models0/3
Phase 3Modules and Boundaries0/3
Phase 4Production TypeScript0/3
Compiler and Inference
Strict tsconfig settings
Understand the building blocks and choices behind Compiler and Inference.
0 of 6 completeLocal type inference
Use this part of Compiler and Inference in a realistic workflow.
0 of 5 completeUnknown versus any
Handle the boundaries and prove the result for Compiler and Inference.
0 of 8 completeUnions and Literal Types
Literal types and widening
Understand the building blocks and choices behind Unions and Literal Types.
0 of 5 completeDiscriminated union states
Use this part of Unions and Literal Types in a realistic workflow.
0 of 5 completeReadonly constants and satisfies
Handle the boundaries and prove the result for Unions and Literal Types.
0 of 7 completeNarrowing and Exhaustiveness
Unknown input guards
Understand the building blocks and choices behind Narrowing and Exhaustiveness.
0 of 6 completeType predicates and assertions
Use this part of Narrowing and Exhaustiveness in a realistic workflow.
0 of 5 completeExhaustive never checks
Handle the boundaries and prove the result for Narrowing and Exhaustiveness.
0 of 7 completeObject Contracts
Interfaces and type aliases
Understand the building blocks and choices behind Object Contracts.
0 of 6 completeReadonly optional object fields
Use this part of Object Contracts in a realistic workflow.
0 of 5 completeStructural compatibility rules
Handle the boundaries and prove the result for Object Contracts.
0 of 7 completeGenerics
Input-output type relationships
Understand the building blocks and choices behind Generics.
0 of 5 completeExtends and keyof constraints
Use this part of Generics in a realistic workflow.
0 of 5 completeGeneric inference and defaults
Handle the boundaries and prove the result for Generics.
0 of 7 completeType Transformations
Keyof and indexed access
Understand the building blocks and choices behind Type Transformations.
0 of 5 completeMapped and utility types
Use this part of Type Transformations in a realistic workflow.
0 of 7 completeConditional and template literals
Handle the boundaries and prove the result for Type Transformations.
0 of 7 completeModules and Declarations
Module resolution and exports
Understand the building blocks and choices behind Modules and Declarations.
0 of 5 completeDeclaration files and augmentation
Use this part of Modules and Declarations in a realistic workflow.
0 of 5 completePublic package entry points
Handle the boundaries and prove the result for Modules and Declarations.
0 of 7 completeRuntime Validation
Unknown boundary inputs
Understand the building blocks and choices behind Runtime Validation.
0 of 6 completeNested schemas and refinement
Use this part of Runtime Validation in a realistic workflow.
0 of 5 completeParsed input-output types
Handle the boundaries and prove the result for Runtime Validation.
0 of 8 completeAsync Results and Errors
Async return and rejection
Understand the building blocks and choices behind Async Results and Errors.
0 of 5 completeDiscriminated Result types
Use this part of Async Results and Errors in a realistic workflow.
0 of 5 completeCancellation and retry outcomes
Handle the boundaries and prove the result for Async Results and Errors.
0 of 7 completeMigration and Integration
AllowJs and checkJs
Understand the building blocks and choices behind Migration and Integration.
0 of 5 completeIncremental strictness milestones
Use this part of Migration and Integration in a realistic workflow.
0 of 5 completeAny and suppression inventory
Handle the boundaries and prove the result for Migration and Integration.
0 of 8 completeTooling and Tests
No-emit type checking
Understand the building blocks and choices behind Tooling and Tests.
0 of 5 completeType-aware lint and formatting
Use this part of Tooling and Tests in a realistic workflow.
0 of 5 completeRuntime and type tests
Handle the boundaries and prove the result for Tooling and Tests.
0 of 7 completeTyped Application Capstone
Stable public API types
Understand the building blocks and choices behind Typed Application Capstone.
0 of 5 completeValidated external boundaries
Use this part of Typed Application Capstone in a realistic workflow.
0 of 5 completeDeclarations and consumer tests
Handle the boundaries and prove the result for Typed Application Capstone.
0 of 7 complete