YOUR TYPESCRIPT LEARNING PATH
A little more TypeScript.
A little more confidence.
One idea at a time, with examples you can follow and checkpoints to see what’s clicking. New here? Begin with chapter one. Know a little already? Jump right in.
Before you start
Bring basic JavaScript variables, functions, arrays, and object literals. Classes are taught later; you do not need to finish the whole JavaScript course first.
Review a foundation whenever you need it: JavaScript values · JavaScript arrays · JavaScript functions · JavaScript object literals
Your chapters
Choose any starting point- 01Open chapter: Read compiler feedback and run a checked program
Read compiler feedback and run a checked program
IntermediateUse a type error as specific feedback while keeping type checking separate from execution.
Start here, or skip ahead - 02Open chapter: Types as working contracts
Types as working contracts
BeginnerDescribe JavaScript values and function boundaries precisely.
Open whenever you’re ready - 03Open chapter: Object shapes and readonly views
Object shapes and readonly views
BeginnerModel records without confusing optional fields and immutability.
Open whenever you’re ready - 04Open chapter: Tuples, rest parameters, and array boundaries
Tuples, rest parameters, and array boundaries
IntermediateUse positional contracts when each position has a different meaning.
Open whenever you’re ready - 05Open chapter: Narrowing and explicit states
Narrowing and explicit states
IntermediateRepresent alternatives so invalid combinations are difficult to express.
Open whenever you’re ready - 06Open chapter: Literal inference and checked configuration
Literal inference and checked configuration
IntermediateRetain useful specific types without pretending assertions validate data.
Open whenever you’re ready - 07Open chapter: Preserve relationships with generics
Preserve relationships with generics
IntermediateConnect input and output types without discarding information.
Open whenever you’re ready - 08Open chapter: Function compatibility and callback promises
Make callback types reflect every call the implementation may make.
Open whenever you’re ready - 09Open chapter: Classes, structural contracts, and private state
Classes, structural contracts, and private state
IntermediateKeep public behavior separate from runtime representation.
Open whenever you’re ready - 10Open chapter: Module boundaries and type-only dependencies
Module boundaries and type-only dependencies
IntermediateSeparate compile-time contracts from runtime code.
Open whenever you’re ready - 11Open chapter: Typed asynchronous results and explicit failure
Model failure without confusing it with a missing return value.
Open whenever you’re ready - 12Open chapter: Derive API types from one model
Derive API types from one model
AdvancedUse mapped types to prevent duplicated contracts from drifting.
Open whenever you’re ready - 13Open chapter: Conditional types and union distribution
Reason about type transformations without confusing them with runtime branches.
Open whenever you’re ready - 14Open chapter: Unknown input and trustworthy results
Connect runtime validation to accurate static contracts.
Open whenever you’re ready
PUT IT TOGETHER
Final assessment & certificate
32 multiple-choice questions and 2 written coding problems. Pass the knowledge section at 80% overall and at least 50% in every chapter area, complete and review the written practice, and meet the attempt-integrity checks to unlock your certificate.
The certificate records a CodeQuest foundations assessment. Written work is self-reviewed; identity and independent proficiency are not verified.
Take an issuer-recorded assessment with a verifiable certificate
Continue the original guided missions