About Experience Work Learn Contact
Level 2 · Advanced

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.

LevelAdvanced
TopicsJavaScript · TypeScript
PrerequisiteBasic JavaScript
Length106 slides · 12 sessions · ~24 h
LanguagePersian

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

Explain JavaScript's execution model (call stack and event loop)
Use closures, this and prototypes with confidence
Design asynchronous code properly with Promises and async/await
Handle modules, performance and browser security
Write precise, safe types with TypeScript
Use generics, conditional types and utility types

Tools & environment

Node.js (LTS)Runs JavaScript outside the browser, plus npm.
VS CodeWith the ESLint and Prettier extensions.
TypeScript (tsc)The compiler and type checker.
tsxRuns TypeScript files directly, no manual compile step.

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.

1 / 106

Class plan

A suggested 12-session plan. Each session lists its exercise and the slides it covers.

1
Execution model, hoisting, types and coercion
Exercise: Type and equality exercises
2
Closures, this and advanced functions
Exercise: memoize and a counter
3
Objects, prototypes and classes
Exercise: A Stack with #private
4
Iterators, generators, Map/Set and regex
Exercise: range and iterables
5
Errors, Proxy and code quality
Exercise: Tests with Vitest
6
Event loop, Promises and async/await
Exercise: retry and sleep
7
Modules, fetch, the DOM and performance
Exercise: Live search
8
Security, Node.js and testing
Exercise: A small CLI tool
9
TypeScript basics 1: types and narrowing
Exercise: Functions and unions
10
TypeScript basics 2: generics, classes and modules
Exercise: groupBy and Result
11
Advanced TypeScript: conditional and mapped types
Exercise: DeepReadonly
12
Utility types, type guards and the final project
Exercise: Typed API client

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
مدل اجرا و HoistingClosure و thisپروتوتایپ و کلاسIterator و GeneratorProxy و Reflect
02 Async & the platform 22 slides
Event LoopPromise و async/awaitماژول‌هاDOM، عملکرد و امنیتNode.js و تست
03 TypeScript fundamentals 20 slides
نوع‌های روزمرهNarrowingGenericsکلاس‌هافایل‌های تعریف نوع
04 Advanced TypeScript 21 slides
Conditional و MappedUtility TypesType GuardsDeclaration Mergingابزار و مهاجرت
★ Next steps & final project 3 slides

Exercises & projects

Final project

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

01
Front-end frameworksAngular, React or Vue with TypeScript; build large applications.
02
Back-end with NodeNestJS or Express with TypeScript; APIs and databases.
03
Design patterns & architectureClean Architecture, SOLID and common patterns.
04
Advanced performanceProfiling, Web Vitals and bundle optimisation.
05
Advanced testingIntegration, E2E and contract tests.
06
Team toolingMonorepos, CI/CD and code review.

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.