Beginner ~20 hours 30 lessons Free

JavaScript Tutorial

The programming language of the web

Learn JavaScript from zero with 30 free interactive lessons. Variables, functions, arrays, objects, DOM manipulation, async/await, and modern ES6+ features.

What you'll learn

  • Variables & data types
  • Functions and scope
  • Arrays and objects
  • DOM manipulation
  • Async / await & fetch
  • Modern ES6+ features

Prerequisites

  • Basic HTML and CSS
  • Curiosity to experiment

Why learn JavaScript?

  • JavaScript runs on every browser — no install needed to start
  • It powers front-end frameworks (React, Vue) and back-end (Node.js)
  • Most widely-used language in the world for the 11th year running
  • Unlocks the playground, browser games, animations, and full apps

Course Curriculum

30 lessons · ~20 hours · self-paced

  1. 1

    Introduction to JavaScript

    What JavaScript Actually Does

  2. 2

    JavaScript Variables & Data Types

    What a Variable Really Is

  3. 3

    JavaScript Operators

    Arithmetic, and the Odd Behaviour of +

  4. 4

    JavaScript Functions

    What a Function Is, and Why You Want One

  5. 5

    JavaScript Objects

    Grouping Related Data Under One Name

  6. 6

    JavaScript Arrays

    An Ordered List of Values

  7. 7

    JavaScript Conditionals (if/else)

    Making a Decision

  8. 8

    JavaScript Switch Statements

    When a Chain of else if Becomes a Switch

  9. 9

    JavaScript Loops

    Repeating Work Without Repeating Code

  10. 10

    JavaScript Array Methods

    The Methods That Replace Loops

  11. 11

    JavaScript String Methods

    Strings Are Values You Cannot Change

  12. 12

    JavaScript Math Object

    What the Math Object Is

  13. 13

    JavaScript Date Object

    Creating a Date, and the Month Trap

  14. 14

    JavaScript Number Methods

    One Number Type for Everything

  15. 15

    JavaScript DOM Selection

    What the DOM Actually Is

  16. 16

    DOM Manipulation

    Changing Text: textContent, innerHTML and innerText

  17. 17

    JavaScript Events

    What an Event Is

  18. 18

    Event Listeners

    addEventListener in Full: the Third Argument

  19. 19

    Form Validation

    Why Validate in the Browser at All

  20. 20

    Arrow Functions & ES6 Features

    Arrow Function Syntax, Precisely

  21. 21

    JavaScript Promises

    Why Asynchronous Code Exists

  22. 22

    Async/Await

    await: Promises Without the Chain

  23. 23

    Fetch API

    What fetch Does

  24. 24

    Working with JSON

    What JSON Is, and What It Is Not

  25. 25

    Local Storage

    What Browser Storage Is

  26. 26

    Error Handling

    Errors Are Not a Failure of Your Skill

  27. 27

    Debugging Techniques

    Debugging Is a Method, Not a Talent

  28. 28

    JavaScript Best Practices

    Naming and Readability

  29. 29

    Performance Optimization

    Measure First

  30. 30

    Final Project: To-Do Application

    What You Are Building, and Why This One

Ready to start?

All 30 lessons are free. No credit card. No sign-up required to read.

Start with lesson 1: Introduction to JavaScript
Ask AI