Course 03 · Core
JavaScript
The part that answers back.
Values, functions, the DOM, events and asynchronous work — written so you can debug it later.
0 of 32 lessons finished — nothing yet
The syllabus
32 lessons,
in the order they build on each other.
Your first script
Where JavaScript runs, how to load it, and the console as your main instrument.
Values and variables
const, let, the primitive types, and why var is not in this course.
Types and conversion
typeof, truthiness, == against ===, NaN, and converting on purpose.
Strings
Template literals, slicing, searching, replacing and formatting for people.
Numbers and dates
Floating point surprises, rounding, Math, Date, and Intl for real formatting.
Operators
Arithmetic, comparison, logical, nullish coalescing and short-circuit evaluation.
Control flow
if, ternaries, switch, loops, and returning early instead of nesting.
Functions
Declarations, expressions, arrows, parameters, defaults, rest and returning values.
Scope and closures
Block scope, hoisting, closures, and the counter that explains all of them.
this and binding
What this refers to in each call shape, and why arrow functions are different.
Arrays
map, filter, reduce, find, sort, spread — and changing versus returning.
Objects
Properties, nesting, destructuring, spread, optional chaining and references.
JSON
parse and stringify, what survives the round trip, and handling malformed input.
Classes and prototypes
Constructors, methods, fields, extends, and the prototype chain underneath.
Modules
import and export, default versus named, dynamic import and module scope.
The DOM: finding things
querySelector, collections, traversal, and what the DOM actually is.
The DOM: changing things
textContent, classList, attributes, dataset, styles and building nodes safely.
Events
Listeners, the event object, bubbling, delegation, preventDefault and removal.
Forms in JavaScript
Reading values, FormData, validity, and submitting without reloading.
The event loop
The stack, the queue, microtasks, and why a long loop freezes the page.
Promises
States, then and catch, chaining, all, allSettled and race.
async and await
Writing asynchronous code that reads in order, and handling failure in it.
Fetch and APIs
Requests, JSON, status codes, headers, aborting, and errors that fetch does not throw.
Storing state
localStorage, sessionStorage, JSON round-trips and failing safely when it is blocked.
Timers and animation
setTimeout, setInterval, requestAnimationFrame, debounce and throttle.
Observers
IntersectionObserver, ResizeObserver and MutationObserver instead of scroll handlers.
Errors and debugging
try/catch, throwing well, reading a stack trace and using breakpoints.
Regular expressions
The pieces you will actually use, groups, flags, and when not to use one.
Copying and equality
References, shallow and deep copies, structuredClone and comparing objects.
Writing code you can read later
Naming, small functions, pure functions, early returns and comments worth keeping.
Safety in the browser
innerHTML and XSS, escaping, why secrets cannot live in front-end code.
Tooling
npm, bundlers, what a build step does, source maps and linting.
Keep going
The other courses.
HTML
The document, the elements and the meaning behind them. Everything else on the web is layered on top of this.
CSS
Selectors, the box model, layout with flexbox and grid, and motion that has a reason to move.
React
Components, state and effects — the model behind most interfaces built today.