JavaScript course
Understand the idea. Try the code. Take one small step forward.
01—04 · Language foundations
Learn types, control flow, collections and closures.
05—08 · Browser interaction
Connect DOM, storage and requests with recovery paths.
09—10 · Structure & verification
Understand objects and organize code with modules and tests.
11—16 · Applied interaction topics
Handle time zones, text rules, URLs, focus races and migrations.
Study the mechanism, run the example, then attempt the challenge before opening the solution. Every chapter includes verification and common boundaries.
01 · Values, types and explicit conversion
Distinguish value types from variable bindings and explain why adding form values can concatenate text.
02 · Conditions, loops and boundary reasoning
Translate rules into mutually exclusive branches and test loops for missing or repeated work.
03 · Strings, arrays and data transformations
Express data processing with filtering, mapping and lookup while separating display formatting from stored data.
04 · Functions, scope and closures
Extract repeated logic into testable functions and use closures for isolated state.
05 · DOM, events and safe rendering
Update state from events and render from state rather than treating visible text as the data source.
06 · JSON, storage and recovery
Design a validated persistent format and recover when stored data is malformed.
07 · Promises, async ordering and errors
Predict synchronous code, promise reactions and timers, and correctly await failures.
08 · Fetch, cancellation and UI states
Distinguish network failures from HTTP errors and model loading, success, empty and error states.
09 · Objects, this and prototypes
Understand method receivers and shared prototypes, choosing plain records or classes appropriately.
10 · Modules, debugging and repeatable tests
Separate calculation from UI effects and locate bugs with minimal reproductions and assertions.
11 · Dates, time zones and localized formatting
Distinguish instants from calendar dates and avoid treating display strings as calculation data.
12 · Regular expressions, boundaries and validation
Design small explainable patterns and use counterexamples to distinguish matching from full validation.
13 · URLs and shareable page state
Update query parameters without losing other state and distinguish navigation from history updates.
14 · Debugging clicks, focus and event ordering
Reproduce a disclosure whose options cannot be clicked and avoid removing targets before activation.
15 · Async search, stale responses and state
Protect the UI with request identity and distinguish loading, success, empty, failure and cancellation.
16 · Validation and versioned data migrations
Convert unreliable input into an explicit schema and protect migrations with repeatable checks.