JavaScript
Learn JavaScript in the browser from your first script to advanced front-end engineering — the DOM, events, fetch, modules, storage, the event loop, Web Workers, Web Components and security.
Start from zero with the language of the web: run JavaScript in the browser, learn values, decisions, loops, functions, arrays and objects, and finish by making a web page respond to clicks.
You will be able to
- Run JavaScript in the browser console, in a web page and with Node.js
- Use variables, strings, numbers, booleans and template literals correctly
- Write conditions, loops and functions; work with arrays and objects
- Select page elements, change them and react to clicks
Build real interactive pages: handle forms and events properly, understand closures, `this` and classes, load data with fetch and async/await, organise code into modules, remember data with localStorage, and put it all together in a complete to-do app.
You will be able to
- Handle forms, validation and event delegation
- Use closures, `this`, classes and private fields with confidence
- Load and display remote data with fetch, async/await and loading/error states
- Structure apps with ES modules, persist state in localStorage and build a full app
Understand how JavaScript really runs and build fast, safe, reusable front-ends: the browser event loop, iterators and generators, Proxies for reactivity, performance techniques, Web Workers, Web Components, and defending against XSS.
You will be able to
- Predict execution order with the event loop, microtasks and rendering
- Use iterators, generators, Symbols and Proxies to build powerful abstractions
- Keep pages fast with debounce, requestAnimationFrame, observers and Web Workers
- Build reusable Web Components and protect pages from XSS