Choose your character

It shows in the top bar and on your profile. Change it any time.

Courses / Programming

JavaScript and TypeScript

Write JavaScript, check strict TypeScript, and build libraries that survive hidden tests.

Start lesson 1Practice interviewTake the assessmentPractice the first unit of every course. No account needed.
61lessons
334checked exercises
14projects, cases and exams
Prepares you for JavaScript and TypeScript engineering interviews

Projects, case studies and mock exams

Start with JavaScript values, functions and collections, then learn async work and the TypeScript type system. You write real functions in the code editor and run them against visible examples and hidden boundary cases. TypeScript tasks check compiler diagnostics as well as runtime results.

Build a typed API client, an event emitter with a retry queue, a validation library and a transformation pipeline. Practice interviews and timed job tests cover frontend, backend and library work. Mock APIs, modules and file operations use supplied local fixtures in your browser. This workspace teaches a supported subset of Node APIs; it doesn't connect to a server or open your computer's files.

Beginner

FreeNo account or card needed. Every lesson in this unit is yours to practice.

JavaScript foundations

Read values, make explicit conversions, and trace branches and bindings.

5 lessons

Collections and records

Transform arrays and objects while preserving order, identity, and empty values.

5 lessons

Functions and object behavior

Trace private state, receivers, prototypes, and validated text boundaries.

6 lessons

Intermediate

Async work and iteration

Trace Promise outcomes and queued jobs, then consume lazy and asynchronous sequences.

5 lessons

TypeScript foundations

Use narrowing, object contracts, and generics to preserve relationships in reusable helpers.

5 lessons

Typed application boundaries

Build a validated local API client and support a queue recommendation with checked evidence.

5 lessons

Advanced

Reusable type contracts

Build generic APIs and derive precise types for related records.

5 lessons

Typed application services

Build event delivery, retries, validation, and strict adapters.

5 lessons

Concurrent work and assessment

Coordinate promises, reconcile payments, and solve assessed tasks.

5 lessons

Expert

Identity, timing, and state

Control object graphs, structural equality, scheduled work, and state transitions.

5 lessons

Typed pipelines and reusable helpers

Build a reconciled pipeline with functional, type, and iterable contracts.

5 lessons

Investigation and software interviews

Diagnose failures and solve runtime, implementation, and timed assessments.

5 lessons

Your Work Gym account

Save your progress and pick up on another device. Your browser's progress comes with you.

We'll email you a link. It works once and expires in 15 minutes.

You can keep practicing without an account.