Learn Javascript Free — Tutorials & Practice for Students
Free Javascript tutorials, examples and coding practice for Indian students. Beginner to advanced, with an in-browser editor and AI feedback — no cost.
TL;DR: Free Javascript tutorials, examples and coding practice for Indian students. Beginner to advanced, with an in-browser editor and AI feedback — no cost…
Written & reviewed by the Syllab.in Academic Team (CBSE/NCERT subject experts) · Updated
Free Javascript course: 42 lessons, from the basics through to the advanced topics interviewers actually ask about. Every lesson is free, needs no sign-up, and runs in your browser with an editor and instant AI feedback.
Javascript Course Syllabus — 42 Lessons
Work through them in order, or jump to the topic you need. 41 lessons include worked explanations and runnable examples.
Getting Started
- Introduction to JavaScript — JavaScript (JS) is the only programming language that runs natively in every web browser.
- Variables: var, let & const — JavaScript has 3 ways to declare variables: var (old, function-scoped, avoid), let (modern, block-scoped, can be reassigned), and const (modern, block-scoped, cannot be reassigned).
Data Structures
- Arrays & Array Methods — An array is an ordered list of values stored in a single variable.
Browser & DOM
- DOM Manipulation — The DOM (Document Object Model) is the browser's representation of the HTML page as a tree of objects.
DOM & Browser
- Events & Event Listeners — Events are actions that happen in the browser: clicks, key presses, form submissions, mouse movements, etc.
- DOM Manipulation — DOM (Document Object Model) is the browser's representation of the HTML page as a tree of objects.
- Events & Event Listeners — Events are actions that happen in the browser: clicks, key presses, form submissions, mouse movements, etc.
- JSON & Local Storage — JSON (JavaScript Object Notation): text format for data exchange.
JavaScript Fundamentals
- Functions & Arrow Functions — Functions are reusable blocks of code. JavaScript has multiple ways to define them: function declarations, function expressions, and arrow functions (ES6+).
- Array Methods (map, filter, reduce) — Modern JavaScript array methods process arrays without for loops.
- Objects & Destructuring — JavaScript objects store key-value pairs.
- Error Handling — try/catch/finally & Custom Errors — JavaScript errors, if unhandled, crash the script and show confusing messages to users.
- Regular Expressions — Pattern Matching — Regular Expressions (regex) are patterns used to match, search, and manipulate text.
Advanced
- Promises & Async/Await — JavaScript is single-threaded. Asynchronous code (API calls, timers) uses callbacks or Promises to handle tasks that take time without blocking the page.
- Classes & OOP — ES6 classes provide a clean syntax for creating objects with shared methods.
- Promises & Async/Await — JavaScript is single-threaded. Asynchronous code (API calls, timers) uses callbacks or Promises to handle tasks that take time without blocking the page.
- Closures — A closure is when an inner function "remembers" the variables from its outer function even after the outer function has returned.
- Modules: import & export — ES Modules let you split code into separate files.
- Error Handling & Debugging — `try { ... } catch(err) { ... } finally { ...
- Map & Set Collections — Map: Like an object but keys can be ANY type (including objects/functions).
- Higher-Order Functions — A Higher-Order Function (HOF) either takes a function as an argument OR returns a function (or both).
- Generators & Iterators — Iterators: Objects with a `next()` method that returns `{value, done}`.
JavaScript Advanced
- Classes & Modules — ES6 classes provide a clean syntax for object-oriented programming.
- localStorage & State Management — localStorage allows JavaScript apps to persist data between sessions.
- Fetch API — Making HTTP Requests — The Fetch API is the modern way to make HTTP requests in JavaScript.
- Modern JavaScript — ES6+ Features Every Dev Must Know
Core Concepts
- Variables: let, const & var — `var` is the old way to declare variables — it is function-scoped and hoisted (moved to the top internally).
- JavaScript Operators — Arithmetic: + - * / % ** (exponent). Modulo (%) gives remainder: 10 % 3 = 1.
- String Methods — Strings in JS are immutable sequences of characters.
- Arrays — Arrays store ordered lists of values. Created with `[]`.
- Array Methods: map, filter, reduce — `.map(fn)` — creates a NEW array by applying fn to each element.
- Objects — Objects store key-value pairs. Keys are strings (or Symbols), values can be any type including functions (then called methods).
- Functions & Parameters — Function declaration: `function name(params) { ...
- Loops: for, while, for...of — `for` loop: `for(let i=0; i<n; i++)` — best when you know how many times to iterate.
- if/else & switch Statements — `if(condition)` — runs block if condition is truthy.
- Type Conversion & Coercion — JS has two kinds of type change: explicit conversion (you do it on purpose) and implicit coercion (JS does it automatically).
- Date & Math Objects — Math object: `Math.round()`, `Math.floor()`, `Math.ceil()`, `Math.abs()`, `Math.sqrt()`, `Math.pow()`, `Math.max()`, `Math.min()`, `Math.random()` (0 to 1).
ES6+ Features
- Destructuring — Array destructuring: `const [a, b, c] = [1, 2, 3]`.
- Spread & Rest Operators — Spread `...` expands an iterable (array/string) into individual elements.
- Template Literals & Tagged Templates — Template literals use backticks `` ` ``. Allow multi-line strings and `${expression}` interpolation.
Mini Projects
- Mini Project: Calculator — A calculator mini project practices: DOM manipulation, event listeners, string parsing, and UI feedback.
- Mini Project: Todo List App — A Todo app combines: array state management, DOM creation, event delegation, localStorage persistence.
Who this Javascript course is for
School and college students in India starting from zero, and anyone revising Javascript for placements, board practicals or a project. There is no prerequisite beyond being able to type — the first lessons assume no programming background at all.
How to study this course
- Read the lesson, then run the example in the built-in editor before moving on — reading code is not the same as writing it.
- Try the practice task at the end of each lesson. Getting it wrong and fixing it is where the learning happens.
- When you are stuck, ask the free AI Tutor to explain that specific line rather than skipping ahead.
🤖 Stuck on any of these? Ask Syllab's free AI Tutor to explain step by step →