JavaScript & TypeScript
An advanced course for developers who know the basics: the JavaScript core and the async platform in depth, then TypeScript from everyday types to conditional and mapped types.
About this course
New to JavaScript? Start with the beginner course first. HTML, CSS & JavaScript — Beginner
Who it's for
Front-end or back-end developers who want to learn JavaScript in depth and TypeScript professionally.
Prerequisites
Familiarity with JavaScript basics, HTML, the terminal and Git.
How you learn
Concept → diagram → runnable code → exercise; run every snippet yourself.
By the end you can
Tools & environment
Slides
Read all 106 slides right here. Use the arrow keys, swipe on a phone, or jump straight to a topic from the syllabus below. The slide text is in Persian.
Class plan
A suggested 12-session plan. Each session lists its exercise and the slides it covers.
Each session is about 2 hours — roughly 24 hours in total. Short on time? Prioritise async and advanced TypeScript, and only skim Proxy, decorators and Web Workers.
Syllabus
Every slide, grouped by part. Click any row to open that slide.
00 Start here 3 slides
01 JavaScript core 30 slides
02 Async & the platform 22 slides
03 TypeScript fundamentals 20 slides
04 Advanced TypeScript 21 slides
★ Next steps & final project 3 slides
Exercises & projects
Exercises
Final project: a typed API client with a UI
Types
- A map from routes to response types
- Result and type guards
- No any, with strict mode on
Async logic
- fetch with a timeout and AbortController
- Caching and retry
- debounce for search
Testing
- Unit tests with Vitest and mocks
- Type tests with Expect/Equal
- tsc --noEmit in CI
Delivery
- A Git repository with a README
- npm scripts
- A runnable example
What to learn next
Download
Keep the whole deck offline as a PDF.
Course material is shared for personal learning. If you share or reuse it, please credit the source.
I'M MSR