JavaScript
The programming language of the web.
JavaScript is taught here in 14 lessons, running from JavaScript basics through to Tooling: linting, formatting, bundling and testing. Each lesson takes one topic, shows the working code, and links onward to the next, so the course can be read straight through in order.
| Track | Front-end Development |
| Lessons | 14 |
| Level | Beginner to intermediate |
| Reading time | about 3 hours |
| Prerequisites | Helpful, but not required: CSS |
Lessons
- JavaScript basicsVariables, the seven primitives, type coercion, and the == vs === decision that causes most beginner bugs.
- Functions and scopeParameters, defaults, arrow functions, closures and this — the ideas behind almost every JavaScript interview question.
- Arrays and iterationThe methods that replace most for-loops — map, filter, reduce, find — and when mutation versus copying matters.
- Objects and destructuringProperty shorthand, spread merging, optional chaining, and copying objects without the reference traps.
- Working with the DOMSelecting elements, reading and writing content safely, creating nodes, and why innerHTML deserves caution.
- EventsaddEventListener, bubbling and capturing, delegation for dynamic lists, and forms without page reloads.
- Async JavaScript and fetchPromises, async/await, real fetch usage with error handling, cancellation, and running tasks concurrently.
- Classes, prototypes and object-oriented patternsThe prototype chain, class syntax, private fields, static members, getters and setters, and when composition beats inheritance.
- Modules and project structureES module import and export, default versus named exports, dynamic import, CommonJS interop, folder layout and the package.json fields that matter.
- Errors, exceptions and defensive codethrow and Error subclasses, try/catch/finally, how errors propagate through async code, custom error shapes and a practical debugging strategy.
- Iterators, generators, Map and SetSymbol.iterator, generator functions and yield, lazy sequences, for...of, when a Map beats an object, and the Set operations you actually need.
- The event loop, timers and concurrencyThe call stack, macrotasks versus microtasks, setTimeout and setInterval, requestAnimationFrame, starvation, and chunking long work.
- Numbers, dates and internationalisationFloating-point precision, BigInt, the Math helpers worth knowing, Date pitfalls with UTC, and Intl formatting for numbers, dates and relative time.
- Tooling: linting, formatting, bundling and testingESLint and Prettier, a Vite dev and build workflow, type checking JavaScript with JSDoc, Vitest basics and wiring it all into npm scripts and CI.
More in Front-end Development
HTML CSS TypeScript HTML DOM AJAX JSON Tailwind CSS Bootstrap 5 Foundation Vue.js React Next.js Angular jQuery ECharts Chart.js SVG Font Awesome
FAQ
How long does the JavaScript course take?
It has 14 lessons, about 3 hours of reading. Expect roughly twice that if you type out and run every example.
Do I need prior experience for JavaScript?
Not strictly. It helps to have read CSS first, because some lessons build on it, but every lesson explains its own assumptions.
What should I read after JavaScript?
Continue with TypeScript (13 lessons), the next course in Front-end Development.
Last refreshed 2026-09-18.