JavaScript is the programming language of the web. It turns static HTML and CSS into pages that respond to people: forms that check their input, lists that filter as you type, dashboards that load fresh data. The same language also runs on servers and in build tools through Node.js.
This course goes from your first script to advanced patterns. The early lessons cover variables, types, operators, control flow, functions, arrays and objects. You then learn the DOM, events and debugging while building a small, accessible quiz app. The middle of the course covers closures, array methods, asynchronous code and fetch, and you build a course dashboard that loads, filters, sorts, searches and caches JSON data. The final modules cover modules, classes, the event loop, iterators, Proxy, performance, how engines work and designing a small library.
Every lesson uses modern JavaScript with small examples that run in the browser console or Node.js, with no frameworks and no third-party APIs.
Type the examples rather than copying them. Mistyping and fixing code is how you learn to read error messages, which is half of programming.