JavaScript Tutorial
Learn JavaScript step by step through 84 structured lessons. The course starts with essential concepts and progresses toward practical, advanced topics, with explanations, syntax, examples, common mistakes and exercises you can try yourself.
- Level: Beginner to advanced
- Format: 84 free, self-paced lessons
- Best for: Students, career changers and developers refreshing their skills
What You Will Learn
This learning path covers the following areas in curriculum order:
- JavaScript Tutorial
- JavaScript Fundamentals
- JavaScript Strings & Numbers
- JavaScript Control Flow
- JavaScript Arrays
- JavaScript Objects
- JavaScript Functions
- JavaScript OOP
- JavaScript Error Handling & Debugging
- JavaScript Asynchronous
- JavaScript Iterators & Generators
- JavaScript Modules
- JavaScript DOM & Browser
- JavaScript Advanced
- JavaScript Reference
Who This Course Is For
This tutorial is suitable for complete beginners as well as learners who already know some programming and want a structured reference. Start from the first lesson if the subject is new to you. Experienced learners can use the curriculum below to jump directly to a specific concept.
How to Use This Tutorial
- Read each lesson in curriculum order and run every example yourself.
- Change the examples to test your understanding instead of only copying them.
- Complete the exercises and review the common-mistake sections before moving on.
- Bookmark this course page so you can return to the complete lesson index.
Course Contents
JavaScript Tutorial
JavaScript Fundamentals
- JavaScript Variables
- JavaScript let, const, and var
- JavaScript Data Types
- JavaScript Type Conversion
- JavaScript Operators
- JavaScript Booleans
- JavaScript Template Literals
JavaScript Strings & Numbers
- JavaScript Strings
- JavaScript String Methods
- JavaScript String Slicing
- JavaScript Numbers
- JavaScript Number Methods
- JavaScript Math Object
JavaScript Control Flow
- JavaScript If Else
- JavaScript Switch
- JavaScript While Loop
- JavaScript For Loop
- JavaScript For In For Of
- JavaScript Break Continue
JavaScript Arrays
- JavaScript Arrays
- JavaScript Array Methods
- JavaScript Array Iteration Methods
- JavaScript Array Destructuring
- JavaScript Spread Rest
- JavaScript Multidimensional Arrays
JavaScript Objects
- JavaScript Objects
- JavaScript Object Methods
- JavaScript Object Destructuring
- JavaScript JSON
- JavaScript Optional Chaining (?.)
- JavaScript Object Constructors
JavaScript Functions
- JavaScript Functions
- JavaScript Function Parameters
- JavaScript Default Parameters
- JavaScript Arrow Functions
- JavaScript Closures
- JavaScript Scope
- JavaScript Recursion
JavaScript OOP
- JavaScript Classes
- JavaScript Constructors
- JavaScript Inheritance
- JavaScript Getters Setters
- JavaScript Static Methods
- JavaScript Prototypes
- JavaScript The this Keyword
- JavaScript Encapsulation
JavaScript Error Handling & Debugging
JavaScript Asynchronous
- JavaScript Callbacks
- JavaScript Promises
- JavaScript async/await
- JavaScript Event Loop
- JavaScript setTimeout and setInterval
- JavaScript The Fetch API
- JavaScript Promise Combinators
JavaScript Iterators & Generators
JavaScript Modules
JavaScript DOM & Browser
- JavaScript Introduction to the DOM
- JavaScript Selecting Elements
- JavaScript Dom Manipulation
- JavaScript Events
- JavaScript Event Bubbling
- JavaScript Forms
- JavaScript Local Storage
JavaScript Advanced
- JavaScript Regex
- JavaScript WeakMap and WeakSet
- JavaScript Proxy and Reflect
- JavaScript Date Object
- JavaScript Symbols
JavaScript Reference
Frequently Asked Questions
Is this JavaScript tutorial free?
Yes. The lessons listed on this page are free to read and can be completed at your own pace.
Do I need previous experience?
No previous experience is required for the introductory lessons. Some advanced modules are easier if you first complete the fundamentals in this course.
How should I practise?
Type and run the examples, deliberately change their inputs, predict the result before execution and build a small project after completing each major section.
