It's time to learn
practical
JavaScript the
modern way
Learn modern JavaScript (ES2015+) from scratch, and practice in an intuitive environment. The challenges are inspired by real-world projects to make sure that you're learning the best practices, one step at a time. Try the first 77 lessons, challenges, projects (first 7 chapters) & flashcards for free. You can upgrade to aPro account with a one-time payment that gives you access for 5 years.
Learn Javascript is suitable for beginner developers who have basic experience in any programming language. Not comfortable with the basics? Then considerLearn Programming which covers the basics.
What you will learn
This course covers the fundamentals of JavaScript. It is the best way to learn JavaScript in 2025.
The lessons & challenges will guide you through these topics step by step and its project-based approach will help you reinforce these concepts.
The course assumes that you are familiar with the basics such as variables, functions, arrays, objects, classes as well as someHTML & CSS experience.
- Arrays
- Functions
- Arrow functions
- Advanced Arrays
- Destructuring
- Optional chaining
- Nullish coalescing
- Objects
- Arrays of Objects
- Advanced Control Flow
- Reduce
- Classes
- Callbacks
- Asynchronous logic
- Advanced classes
- Prototypical inheritance
- JSON
- Promises
- Fetch
- Work with real APIs
- Lexical scope
- Async/await
- DOM Selection
- DOM basics
- Advanced DOM
- Events
- Forms
- Package Managers
- Module Bundlers
- Modules
- Dynamic imports
- ECMAScript
- Legacy var
- Legacy topics
- Window object
- Closures
- Loops & iteration
- The event loop
- Intro to regex
- Interview questions
- Map and Set
- Generator functions
- Gem run game project

Discover advanced class inheritance use cases with this fun project.
- Open/close sidebar project

Given the necessary CSS code, you're asked to write the code that opens and closes the sidebar of a web page.
- Toggle dark theme project

Given the necessary CSS code, you're asked to write the code that toggles a page's dark theme.
- Preferred currencies project

Build a custom multi-select logic that allows the user to select their preferred currencies.
- Form validation project

Implement form validation for a form element.
- Keyboard shortcuts project

Implement keyboard shortcuts to open and close an existing modal.
- Instant search project

Implement a case-insenstive search from a public spacecraft dataset.
- Todo app API project

Implement a todo app using an API.
- GitHub API project

List a GitHub user's repositories using the public GitHub API.
- Currency conversion API project

Implement a currency conversion app using a real currency conversion API.
- Food tracker (final project)

Multi-step final project teaching you how to build a food tracker from scratch. You're only given the HTML, CSS, and API docs.
Real-life projects
To better prepare you for the real world, we have 17 projects inspired by popular products. Here are a few examples of these projects.
JavaScriptflashcards
This course is designed with the learner in mind. That's why we've developed a separate flashcards app where you can reinforce the new concepts that you learned using spaced repetition.
Spaced repetition has been proven to be a more effective learning method.
What people are
saying
Used by & featured in

About the
instructor
Jad Joubran is aGoogle Developer Expert, Microsoft Most Valuable Professional (2019-2022), andFreelance Web Performance Consultant based in Amsterdam.
His passion for JavaScript led him to create and develop the most interactive, step by step courses for JavaScript,React,Programming basics, andHTML CSS.
Why Learn JavaScript through this course?
Lessons
- Read concise lessons
- Save notes in lessons
- Export & print your notes
- Read a recap of topics learned
- Read a recap of every lesson
- Visualize your knowledge map
Practice
- Practice directly in the browser
- Solve interactive challenges
- Test-driven environment
- Solve real-world projects
- Continue on your phone
- Compare with official solution
Flashcards
- Keep your memory fresh
- Learn on the go
- Benefit from spaced repetition
- Review per chapter
- Maintain your progress streak
- 250+ flashcards
Modern
Pricing
Generous free trial
Try the first 77 lessons, challenges, projects (first 7 chapters) & flashcards for free. No time limit.
The remaining chapters require a PRO account.
One-time payment
We do not like subscriptions. This is why Learn JavaScript PRO can be unlocked for a single payment that gives you access for 5 years.
Check out thepayment page. We recommend that you complete the free trial before upgrading.
The easiest way to learn & practice modern JavaScript
Join more than 250,000 learners across all courses.
Try it out →










