Learn JavaScript
Learn JavaScript from your first line of code to modern async programming. Every lesson explains one idea in plain language and shows working code with its real output, and most lessons end with an exercise.
Progress is saved in this browser. Accounts are coming later.
- Lessons available
- 56
- In the full course
- 56
- Beginner
Start from zero. No experience needed.
- Intermediate
Combine ideas to solve real problems.
- Advanced
The techniques used in professional work.
Course syllabus
All 56 lessons are available. Start anywhere, or follow the parts in order.
Part 1 · Beginner
JavaScript Fundamentals
Run your first JavaScript, and learn values, variables, types and operators.
Part 2 · Beginner
Control Flow
Make decisions with conditions and repeat work with loops.
Part 3 · Beginner
Functions
Write reusable functions, use arrow functions and callbacks, and understand scope and closures.
Part 4 · Beginner
Arrays, Objects and Data
Store and transform collections with arrays, objects, Maps and Sets, and work with JSON and dates.
Part 5 · Intermediate
The DOM and Events
Make web pages interactive: find and change elements, respond to events, handle forms and save data in the browser.
Part 6 · Intermediate
Asynchronous JavaScript
Understand the event loop, then use promises, async/await and fetch to work with timers and APIs.
Part 7 · Advanced
Advanced JavaScript
Errors, classes, this, prototypes, modules, iterators and modern syntax.
Part 8 · Advanced
JavaScript on the Server
Run JavaScript outside the browser with Node.js and manage packages with npm.
Part 9 · Intermediate
JavaScript Interview Preparation
Questions and coding challenges asked in front-end, full-stack and web developer interviews.
Keep going with JavaScript
Become a Better Programmer
Get new tutorials, coding challenges, and cheat sheets.