JavaScript Programming Lessons
Choose your path and start learning JavaScript programming step by step.
basics
Introduction to JavaScript
Learn the basics of JavaScript and why it's the language of the web
Variables and Data Types
Learn how to store and work with different types of data in JavaScript
Functions in JavaScript
Learn how to create reusable code with functions
Control Flow
Learn how to make decisions and repeat actions in your code
Data Structures
Learn how to work with arrays and objects to organize your data
Array Methods
Master JavaScript's built-in array methods including map, filter, reduce, find, and more to transform and query data elegantly
Destructuring And Spread
Learn how to unpack arrays and objects with destructuring, and how to use the spread and rest operators to write cleaner, more expressive JavaScript
intermediate
Objects and Prototypes
Master JavaScript objects, methods, and prototypal inheritance
Closures and Scope
Understand lexical scope, closures, and powerful patterns for data privacy
Async and Promises
Master asynchronous JavaScript with callbacks, Promises, and async/await
Error Handling
Learn to write robust JavaScript with proper error handling patterns
DOM and Events
Learn to interact with web pages using DOM manipulation and event handling
Classes And Inheritance
Learn how to model real-world relationships with JavaScript classes, build reusable blueprints with constructors and methods, and extend behaviour through inheritance
Regular Expressions
Master pattern matching in JavaScript with regular expressions — learn to search, validate, and transform strings using powerful regex syntax and the methods that bring them to life
Local Storage And State
Learn how to persist data in the browser using localStorage and sessionStorage — and discover how to manage simple application state without a framework
Date And Time
Master JavaScript's Date object to create, format, compare, and manipulate dates and times — essential skills for building real-world applications
Form Validation
Learn how to validate user input on the client side using JavaScript — covering built-in validation, custom rules, real-time feedback, and accessible error handling patterns
advanced
Modules and Bundling
Organize your code with ES modules, imports, exports, and modern bundling concepts
Testing and Debugging
Learn to find bugs efficiently and write tests that verify your code works
Web APIs and Fetch
Learn to communicate with servers using the Fetch API and handle JSON data
Performance
Optimize your JavaScript with debouncing, throttling, memoization, and memory management
Capstone Project: Task Manager
Build a complete task manager app combining objects, async/await, DOM concepts, error handling, and modules
Generators And Iterators
Learn how JavaScript generators and iterators work to produce sequences of values on demand — unlocking lazy evaluation, infinite sequences, and cleaner async patterns
Proxy And Reflect
Learn how JavaScript Proxy and Reflect let you intercept and customize fundamental object operations — enabling powerful patterns like validation, logging, and reactive data
Web Workers
Learn how Web Workers let you run JavaScript in background threads — keeping the main thread responsive while handling CPU-intensive tasks, long computations, and heavy data processing