Learn JavaScript (original) (raw)
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 a Pro 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 consider Learn 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 some HTML & 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
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
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.
Implement form validation for a form element.Keyboard shortcuts project
Implement keyboard shortcuts to open and close an existing modal.
Implement a case-insenstive search from a public spacecraft dataset.
Implement a todo app using an API.
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.
JavaScript flashcards
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
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 the payment page. We recommend that you complete the free trial before upgrading.
The easiest way to learn & practice modern JavaScript
Join more than 200,000 learners across all courses.