JavaScript Programming Course

Free online course · 9 lessons

Learn JavaScript from variables and functions to the DOM, events, asynchronous code and web APIs, and organize code with modules and modern tooling. After the course you can build interactive front-end features without a framework.

What you need first

By Studeli

Start with lesson 1

What you will learn in 9 lessons

Every lesson includes all nine study tools

  • Study Guide
  • Summary
  • Walkthroughs
  • Practice Questions
  • Flashcards
  • Explain It
  • Key Terms
  • Cheat Sheet
  • Concept Map
  1. Write JavaScript with variables, data types, operators and conditions, and run and debug it in the browser console.

    6 learning goals
    1. 1.Run JavaScript in a web page
    2. 2.Store values in variables with let and const
    3. 3.Work with numbers, strings and booleans
    4. 4.Convert between types and predict coercion
    5. 5.Make decisions with comparisons and conditions
    6. 6.Find and fix errors with the console and debugger
  2. Repeat work with loops and process lists of data with array methods such as map, filter, find and reduce.

    5 learning goals
    1. 1.Repeat code with loops
    2. 2.Store and change lists of data in arrays
    3. 3.Loop through arrays
    4. 4.Process arrays with callback methods
    5. 5.Sort, copy and combine arrays
  3. Write function declarations and arrow functions, explain scope and closures and pass functions as callbacks.

    5 learning goals
    1. 1.Define and call functions in three forms
    2. 2.Pass values into functions and get results back
    3. 3.Explain where a variable can be used
    4. 4.Use closures to give functions their own memory
    5. 5.Pass functions to other functions
  4. Model data with objects, use destructuring and spread, explain the this keyword and convert data to and from JSON.

    5 learning goals
    1. 1.Model data with objects
    2. 2.Give objects behavior with methods and this
    3. 3.Unpack and combine data with destructuring, spread and rest
    4. 4.Store collections with Map and Set
    5. 5.Convert data to and from JSON
  5. Select, change, create and remove page elements with the DOM API so a page updates without reloading.

    6 learning goals
    1. 1.Understand how a web page becomes a DOM tree
    2. 2.Select the elements you want to work with
    3. 3.Change the text and attributes of elements
    4. 4.Change how elements look
    5. 5.Create, insert and remove elements
    6. 6.Render lists and tables from data
  6. Respond to clicks, key presses and form input with event listeners, and validate forms before submission.

    5 learning goals
    1. 1.Respond to events with event listeners
    2. 2.Follow events as they travel through the page
    3. 3.Handle keyboard and pointer input
    4. 4.Handle forms and validate input before submission
    5. 5.Build custom controls that everyone can use
  7. Explain the event loop and write asynchronous code with callbacks, promises and async functions, including error handling.

    6 learning goals
    1. 1.Explain how JavaScript runs asynchronous code
    2. 2.Write and manage callback-based code
    3. 3.Create and use promises
    4. 4.Write asynchronous code with async and await
    5. 5.Handle errors in asynchronous code
    6. 6.Run asynchronous tasks in parallel
  8. Load and send data with fetch and JSON web APIs, render the results on a page and store small amounts of data in the browser.

    5 learning goals
    1. 1.Request and send data with fetch
    2. 2.Show API data on a page
    3. 3.Work with APIs across origins safely
    4. 4.Store data in the browser
    5. 5.Use device features through browser APIs
  9. Organize code with ES modules and classes, install packages with npm and use tooling such as linters, bundlers and test runners.

    5 learning goals
    1. 1.Model objects with classes and prototypes
    2. 2.Organize code into ES modules
    3. 3.Manage a project and its packages with npm
    4. 4.Check, test and build code with developer tools
    5. 5.Place TypeScript and frameworks in the JavaScript toolchain

What to take next

More Programming courses
Introduction to Programming with Python (Beginner)

You have never programmed, or you tried once and want a structured first course in a general-purpose language.

Make your own Study Materials

Turn your notes, slides and documents into Study Guides, Practice Questions, Flashcards and 6 more tools.

Get Started