Free online course JavaScript for Absolute Beginners
Duration of the online course: 10 hours and 50 minutes
New
Build real JavaScript skills fast with a free beginner course—set up tools, write your first code, master arrays, functions, and async patterns to create web apps.
In this free course, learn about
Set up Node.js and VS Code, and run your first JavaScript program
Use var/let/const correctly with scope and reassignment rules
Write control flow with if/else, nested conditions, and switch (including break)
Choose and use loops: for, while, do...while, for...of (arrays), for...in (objects)
Work with arrays and core methods like push(), map(), filter(), reduce(), every()
Create objects via literals, constructors, classes, and factory functions
Use typeof, understand JS limits on function overloading, and method overriding behavior
Build classes with constructors, inheritance, super(), and static properties/methods
Understand callbacks, sync vs async execution, and why callback hell hurts readability
Use Promises: states, chaining, Promise.all/allSettled/race/any, and error handling basics
Use async/await with fetch(), including awaiting response.json() to parse JSON
Use useful console methods (e.g., console.table), destructuring, and template literals (${x})
Solve common tasks: remove duplicates with Set, reverse a number mathematically, split strings
About the free online course
Starting with JavaScript can feel overwhelming, especially when you are not sure what to install, what to type first, or how all the concepts connect. This free online course is built for absolute beginners who want a smooth path from zero experience to writing clear, working JavaScript that you can actually use in web development.
You will begin by setting up a modern environment with Node.js and a code editor, so you can run scripts locally, experiment safely, and see results immediately. From there, the course guides you through the fundamentals that shape everyday JavaScript: choosing the right kind of variable, making decisions with conditions, and repeating tasks with loops in a way that matches the data you are working with.
As you gain confidence, you will work with arrays and the core patterns that power most real projects. You will learn to transform and analyze data using modern methods, write reusable functions in multiple styles (including arrow functions), and understand how objects are created and structured. These skills help you move beyond isolated snippets and into writing code that is readable, flexible, and easier to maintain.
The course then bridges into the concepts that often confuse beginners the most: classes, inheritance, static members, and method overriding. You will understand how JavaScript models behavior and structure, and when these tools make sense in practical development.
A key focus is asynchronous JavaScript, where many learners get stuck. You will make sense of callbacks, avoid the pitfalls of callback hell, and learn how promises, chaining, and async/await work together to write cleaner, more reliable code. You will also practice common workflows like fetching data, improving debugging with richer console methods, and using modern syntax features such as destructuring and template literals.
Throughout the learning experience, quick exercises reinforce what you just learned so the knowledge sticks. By the end, you will be able to read JavaScript confidently, build stronger logic, and feel prepared to take on beginner web projects or continue toward more advanced front-end frameworks.
Course content
Video class: #1 - Setup Node JS, Install Visual Studio Code Editor, Write First Code with JavaScript08m
Exercise: What are the main tools needed to start writing and running JavaScript code on your system?
Video class: #2 - Var vs Let vs Const in JavaScript20m
Video class: #3 - IfElse, Nested IfElse and Switch-Case in JavaScript34m
Exercise: In a JavaScript switch statement used for choosing a browser (Chrome/Firefox/Edge), what is the purpose of the break statement inside each case?
Video class: #4 - Different Types of Loops in JavaScript | For - While - DoWhile - ForOf, ForIn Loops32m
Exercise: Which loop is recommended for iterating over all values in a JavaScript array in a modern, simple way?
Video class: #5 - Array28m
Exercise: Which JavaScript array method adds one or more elements to the end of an array?
Video class: #6 - Difference between map(), filter() and reduce() in Javascript32m
Exercise: Which array method reduces an array to a single accumulated value (e.g., total sum or cart total)?
Video class: #7 - Important Array Methods in JavaScript - Part 215m
Exercise: In JavaScript, what does the Array.every() method return?
Video class: #8 - Top 9 Ways Of Declaring a Function in JavaScript29m
Exercise: In JavaScript, what best describes a function expression?
Video class: #9 - Arrow Function in JavaScript With Simple Examples26m
Exercise: In JavaScript arrow functions, when are parentheses around parameters mandatory?
Video class: #10 - Various ways of creating Objects in JavaScript24m
Exercise: Which option correctly describes a factory function in JavaScript?
Video class: #11 - typeOf Operator In JavaScript07m
Exercise: What does the JavaScript typeof operator do?
Video class: #12 - Can We Overload a Function in JavaScript?13m
Exercise: Which statement best describes method/function overloading in JavaScript?
Video class: #13 - Class19m
Exercise: In JavaScript classes, what happens if you define more than one constructor inside the same class?
Video class: #14 - Inheritance (Parent - Child Classes) In JavaScript25m
Exercise: In JavaScript class-based inheritance, which keyword is used to call the parent class constructor from a child class constructor?
Video class: #15 - Important Quick Tips in JavaScript - Top 20 JS Tips37m
Exercise: How can you get unique values from an array in JavaScript using a Set?
Video class: #16 - Static Concept in JavaScript19m
Exercise: In JavaScript classes, how should you access a static property or static method (e.g., wheels or stop())?
Video class: #17 - Method Overriding in JavaScript09m
Exercise: In JavaScript classes, what happens when both a parent class and a child class define the same method (same name and parameters) and you call it on a child object?
Video class: #18 - Callback Function In JavaScript22m
Exercise: In JavaScript, what is a callback function?
Video class: #19 - Synchronous vs ASynchronous Behaviour in JavaScript10m
Exercise: In JavaScript, what best describes asynchronous behavior?
Video class: #20 - Difference between Synchronization and ASynchronization Calls With Examples18m
Exercise: In JavaScript, what is the key difference between synchronous (sync) and asynchronous (async) APIs?
Video class: #21 - Promise in JavaScript || Pending, Fulfilment and Reject States16m
Exercise: Which set of states correctly describes a JavaScript Promise lifecycle?
Video class: #22 - Promise Chaining in JavaScript12m
Exercise: In Promise chaining, what becomes the input for the next then() block?
Video class: #23 - Promise.all() function in JavaScript13m
Exercise: In JavaScript, what happens when using Promise.all() with multiple promises?
Video class: #24 - Promise.all() vs Promise.AllSettled() in JavaScript08m
Exercise: What is the main purpose of Promise.allSettled() compared to Promise.all()?
Video class: #25 - Promise.race() in JavaScript05m
Exercise: What does Promise.race() return when multiple promises are passed to it?
Video class: #26 - Promise.any() function in JavaScript06m
Exercise: What does Promise.any() return when given multiple promises?
Video class: #27 - Callback Hell or Pyramid of Doom In JavaScript06m
Exercise: In JavaScript, what does callback hell (also called the Pyramid of Doom) describe?
Video class: #28 - Make Coffee with Callback Hell Example || Why to avoid this callback hell in Javascript12m
Exercise: What is the main problem with callback hell (Pyramid of Doom) in JavaScript asynchronous code?
Video class: #29 - CallBack Hell Vs Promise Chaining in JavaScript12m
Exercise: Which approach is used to improve readability and error handling compared to callback hell when running multiple async steps in sequence?
Video class: #30 - Async - Await Concept in JavaScript With Easy Examples25m
Exercise: Which statement best describes async/await in JavaScript?
Video class: #31 - Fetch API Data with Async-Await in javaScript10m
Exercise: When using fetch() in an async function, why is await needed before response.json()?
Video class: #32 - Various Console Log Methods in JavaScript || Don't use console.log(), use this instead of.17m
Exercise: Which console method prints JavaScript objects in a table (tabular) format for easier reading?
Video class: #33 - Destructuring in JavaScript13m
Exercise: What does destructuring allow you to do in JavaScript?
Video class: #34 - Template Literals in JavaScript || Backtick Concept10m
Exercise: Which syntax correctly inserts variables into a JavaScript template literal?
Video class: #35 - Remove Duplicate Elements From Array In JavaScript02m
Exercise: Which one-liner correctly removes duplicate elements from an array and stores the unique values in a new array?
Video class: #36 - Reverse a Number In Javascript14m
Exercise: When reversing a positive integer in JavaScript without converting it to a string, which operations are used to get the last digit and remove it from the number?
Video class: #37 - Most Important String Methods In JavaScript27m
Exercise: In JavaScript, what does the split('_') method return when called on a string like "Java_JavaScript_Python"?