Web foundations
Add explicit types and safer tooling to JavaScript projects.
const lessons: number = 16;
console.log(`Lessons: ${lessons}`);COURSE CURRICULUM
Finish one section at a time or jump directly to a concept you need.
Learn how typescript compilation and project setup works in TypeScript, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how annotations, inference, and structural typing works in TypeScript, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how variables, literals, and narrowing works in TypeScript, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how unions, intersections, and type guards works in TypeScript, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how generics and reusable constraints works in TypeScript, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how discriminated unions for decisions works in TypeScript, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how typed iteration and readonly collections works in TypeScript, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how function overloads and callable types works in TypeScript, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how arrays, tuples, records, and maps works in TypeScript, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how template literal types and string apis works in TypeScript, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how unknown, never, and safe error handling works in TypeScript, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how modules, declarations, and package types works in TypeScript, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how interfaces, classes, and composition works in TypeScript, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how typing browser and external data works in TypeScript, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how testing types and runtime behavior works in TypeScript, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.