JavaScript
Curriculum
Frontend JavaScript

JavaScript Tutorial

A complete frontend JavaScript path from absolute beginner to advanced - section by section, with clear explanations, examples, and practice prompts.

65 lessonsBeginner → ProFrontend
Start from the beginning

Curriculum

Work through each section in order. Every lesson ends with practice and key points so the idea sticks.

Beginner

Getting Started

5 lessons · ~37 min
  1. 1
    What is JavaScript?

    Learn what JavaScript is, why it matters, and how it makes web pages interactive.

  2. 2
    JavaScript in HTML

    Learn the common ways to place JavaScript in an HTML page.

  3. 3
    JavaScript Output

    Learn beginner-friendly ways to show JavaScript results while developing web pages.

  4. 4
    Statements & Syntax

    Learn how JavaScript statements are written and how syntax rules help the browser understand your code.

  5. 5
    Comments

    Learn how to write comments that explain JavaScript code without changing how it runs.

Beginner

Foundations

4 lessons · ~38 min
  1. 6
    Variables

    Learn how variables store values so your JavaScript can remember and reuse information.

  2. 7
    let, const & var

    Learn the difference between let, const, and var when declaring JavaScript variables.

  3. 8
    Data Types

    Learn the basic kinds of values JavaScript can work with.

  4. 9
    Operators

    Learn how operators combine, compare, and update JavaScript values.

Beginner

Working with Data

5 lessons · ~48 min
  1. 10
    Strings

    Learn how JavaScript stores and combines text with strings.

  2. 11
    String Methods

    Learn useful string methods for cleaning, searching, and changing text.

  3. 12
    Numbers & Math Basics

    Learn how JavaScript works with numbers, calculations, and common Math helpers.

  4. 13
    Booleans & Comparisons

    Learn how true and false values help JavaScript make decisions.

  5. 14
    Type Conversion

    Learn how and why JavaScript values are converted from one type to another.

Beginner

Control Flow

3 lessons · ~30 min
  1. 15
    if, else & else if

    Learn how JavaScript chooses between different paths with if statements.

  2. 16
    Switch Statements

    Learn how switch statements select behavior from several exact choices.

  3. 17
    Loops (for, while, do...while)

    Learn how loops repeat JavaScript code without writing the same statements again and again.

Beginner

Collections

3 lessons · ~32 min
  1. 18
    Arrays

    Learn how arrays store ordered lists of values in JavaScript.

  2. 19
    Array Methods (Basics)

    Learn basic array methods for adding, removing, finding, and transforming list items.

  3. 20
    Objects

    Learn how objects group related information using properties and values.

Beginner

Functions & Scope

2 lessons · ~20 min
  1. 21
    Functions

    Learn how functions package reusable JavaScript steps under one name.

  2. 22
    Scope

    Learn where variables can be accessed in JavaScript code.

Beginner

Browser & DOM

5 lessons · ~54 min
  1. 23
    DOM Introduction

    Learn what the DOM is and how JavaScript uses it to work with web pages.

  2. 24
    Selecting Elements

    Learn how JavaScript finds HTML elements before reading or changing them.

  3. 25
    Changing the DOM

    Learn how JavaScript changes page text, classes, attributes, and elements.

  4. 26
    Events

    Learn how JavaScript responds when users click, type, submit, and interact with a page.

  5. 27
    Forms & Simple Validation

    Learn how JavaScript reads form values and checks them before continuing.

Intermediate

Modern JavaScript

5 lessons · ~54 min
  1. 28
    Modern JavaScript (ES6+)

    Review the modern JavaScript features you will use constantly in browser code: block variables, arrow functions, template literals, and default parameters.

  2. 29
    Arrow Functions

    Learn how arrow functions create shorter function expressions and how they behave differently with this.

  3. 30
    Template Literals

    Use backtick strings to build readable text, HTML snippets, and multiline strings.

  4. 31
    Destructuring

    Pull values out of arrays and objects with concise destructuring syntax.

  5. 32
    Spread & Rest

    Use the three-dot syntax to copy, combine, and collect values in arrays, objects, and functions.

Intermediate

Arrays & Objects Deep Dive

3 lessons · ~38 min
  1. 33
    Array Methods (map, filter, find)

    Use map(), filter(), and find() to transform and search arrays without manual loops.

  2. 34
    reduce() & Chaining

    Learn how reduce() builds one result from many values and how to chain array methods clearly.

  3. 35
    Advanced Objects

    Work with computed properties, object methods, optional chaining, and object utilities.

Intermediate

Browser Toolkit

3 lessons · ~34 min
  1. 36
    Dates & Time

    Create dates, format them for users, and handle common browser time tasks.

  2. 37
    JSON

    Use JSON to exchange structured data between JavaScript, APIs, and browser storage.

  3. 38
    Errors & try...catch

    Handle expected failures gracefully and create useful errors for debugging.

Intermediate

Object-Oriented JS

3 lessons · ~38 min
  1. 39
    Classes

    Use JavaScript classes to group data and behavior into reusable blueprints.

  2. 40
    The this Keyword

    Understand how this is chosen and why it changes between methods, callbacks, and event handlers.

  3. 41
    Closures

    Learn how functions remember variables from their outer scope and why closures are useful in UI code.

Intermediate

Modules & Storage

2 lessons · ~24 min
  1. 42
    Modules (import/export)

    Split JavaScript into reusable files with named exports, default exports, and imports.

  2. 43
    localStorage & sessionStorage

    Store small pieces of browser data with localStorage and sessionStorage.

Intermediate

Asynchronous JavaScript

4 lessons · ~51 min
  1. 44
    Callbacks

    Pass functions into other functions to run code later or customize behavior.

  2. 45
    Promises

    Represent future results with Promises and handle success or failure cleanly.

  3. 46
    Async / Await

    Write promise-based code in a readable, top-to-bottom style with async and await.

  4. 47
    Fetch API

    Use fetch() to request data from APIs and update the page with the response.

Intermediate

DOM Power Skills

3 lessons · ~39 min
  1. 48
    Advanced DOM

    Create, update, and organize DOM elements efficiently for interactive pages.

  2. 49
    Event Delegation

    Handle events from many child elements with one parent listener.

  3. 50
    Forms, UX & Validation Patterns

    Build friendlier forms with submit handling, validation messages, and accessible feedback.

Advanced

Deep JavaScript

4 lessons · ~66 min
  1. 51
    Prototypes & Inheritance

    Understand how JavaScript objects share behavior through prototypes, constructor functions, classes, and delegation.

  2. 52
    Execution Context & Call Stack

    Learn how JavaScript runs code, stores local variables, handles function calls, and reports stack errors.

  3. 53
    Event Loop & Microtasks

    Understand asynchronous JavaScript, browser task queues, promises, timers, rendering, and microtasks.

  4. 54
    Memory, References & Immutability

    Learn how JavaScript stores values, shares object references, copies data, and uses immutable update patterns.

Advanced

Performance Patterns

2 lessons · ~27 min
  1. 55
    Debounce & Throttle

    Control noisy events like typing, scrolling, and resizing with debounce and throttle performance patterns.

  2. 56
    Intersection Observer

    Use Intersection Observer to detect visible elements, lazy-load content, trigger animations, and improve scroll performance.

Advanced

Browser APIs

2 lessons · ~30 min
  1. 57
    Useful Web APIs

    Explore practical browser APIs for storage, URLs, forms, network status, dialogs, history, and small frontend features.

  2. 58
    Clipboard, Share & Notifications

    Use permission-aware browser APIs for copying text, native sharing, and showing notifications.

Advanced

Pro Patterns

3 lessons · ~51 min
  1. 59
    Clean Frontend Patterns

    Write cleaner frontend JavaScript with state, rendering, event delegation, modules, data attributes, and pure functions.

  2. 60
    Structuring Frontend JS

    Organize frontend JavaScript applications with modules, feature folders, services, state, rendering, and cleanup boundaries.

  3. 61
    Debugging & Testing Mindset

    Develop a practical debugging and testing mindset for frontend JavaScript, from DevTools to small automated checks.

Advanced

Capstone Projects

4 lessons · ~75 min
  1. 62
    Mini Project: Todo App

    Build a complete todo app with state, rendering, event delegation, filters, persistence, and clean update functions.

  2. 63
    Mini Project: Quiz App

    Build an interactive quiz app with question state, answer selection, scoring, progress, and restart behavior.

  3. 64
    Mini Project: API Dashboard

    Build an API-powered dashboard with loading states, error states, fetch, filtering, refresh, and clean rendering.

  4. 65
    From JavaScript to Frameworks

    Plan your next steps from strong JavaScript fundamentals into React, Vue, Svelte, TypeScript, tooling, and real projects.