JavaScript Complete Course
Learn modern JavaScript from your first script to closures, async code, modules and the event loop, with projects you build as you go.
- Beginner
- 54 lessons
- 23 hours
Learn modern JavaScript from your first script to closures, async code, modules and the event loop, with projects you build as you go.
Read error messages, log effectively, set breakpoints and step through code in browser DevTools.
Split code into modules with named and default exports, use modules in the browser, and dynamic import.
Global, function and block scope, hoisting of declarations, and why let and const throw before declaration.
Throw and catch errors, error types, custom error classes, and handling async errors.
How functions remember their surrounding scope, practical uses, and common closure bugs.
Class syntax, constructors, methods, private fields, static members and extends.
How this is decided at call time, in methods, callbacks, arrow functions and with bind, call and apply.
Transform and search arrays with built-in methods, chaining, and which methods mutate.
Unpack arrays and objects, copy and merge with spread, and collect arguments with rest.
Object.keys, values and entries, shallow versus deep copies with structuredClone, and Object.freeze.
Read nested data safely with ?. and supply defaults with ?? without treating 0 and empty strings as missing.
Convert between objects and JSON text, handle parse errors, and what JSON cannot represent.
The Date object and its pitfalls, formatting dates, numbers and currencies with Intl, and the Temporal API.
Build elements with createElement, insert them with append and before, use template elements, and remove nodes.
How events travel through the DOM, stopping propagation, and handling many elements with one listener.
Why JavaScript is asynchronous, callback functions, and the problems that led to promises.
Create and consume promises, chaining with then, error handling with catch, and finally.
Listen for clicks, input and keyboard events, the event object, and preventDefault.
What JavaScript does in the browser and on servers, how it relates to HTML and CSS, and what ECMAScript means.
Read form values, handle submit, give live validation feedback and send data without a page reload.