JS Course · 61 lessons · approx. 397 minutes

Learn JavaScript

JavaScript brings logic and interaction to the web. You learn variables, conditions, loops and functions – and write code that really runs and gets tested.

  • Variables
  • Conditions
  • Loops
  • Arrays & Objekte
  • Functions
  • DOM
  • async/await
  • Your own programs & going deeper
  • map: transforming every value
  • filter: selecting matching values
  • Destructuring with a fallback value
  • includes: is a value in there?
  • some: at least one match
  • Object.keys: names from an object
  • Spread: extending a list
  • find: the first matching element
  • ?. and ??: safe with missing values
  • sort with a compare function: ordering numbers correctly
  • class: a blueprint for objects
  • Object.entries: key and value together
  • At least one match with some
  • Checking all values with every
  • Selecting parts of an array without mutation
  • Transforming and flattening one level
  • Adjusting object copies with spread
  • Reading JSON and treating it as data
  • Using a default after a search
  • Combining small functions into a calculation
  • String & array methods
  • Error handling & debugging
  • Promises & async/await

What you’ll learn

  1. Chapter 1Variables & data types – Store values, know types, calculate.
    Variables with let & const · Data types & operators
  2. Chapter 2Conditions – Decisions in code.
    if, else & comparisons
  3. Chapter 3Loops, arrays & objects – Store and loop through many values.
    Arrays & loops · Objects
  4. Chapter 4Functions – Reusing code.
    Functions · Boss: grade calculator
  5. Chapter 5Your code workshop – Connect what you have learned and discover a new building block.
    Changing lists with map
  6. Chapter 6Workshop: understand and build it yourself – Practise new building blocks with short explanations and your own programs.
    filter: selecting matching values · reduce: add up a list · Catching errors with try and catch
  7. Chapter 7New tools for your own ideas – Understand new concepts, fill them in and use them yourself.
    map: transforming every value · filter: selecting matching values · Destructuring with a fallback value
  8. Chapter 8Level up: your next practice chapter – Understand four new building blocks in small steps and use them yourself.
    includes: is a value in there? · some: at least one match · Object.keys: names from an object · Spread: extending a list
  9. Chapter 9Master chapter: how real programs are built – Five building blocks from real projects – explained, connected, filled in and written by you.
    find: the first matching element · ?. and ??: safe with missing values · sort with a compare function: ordering numbers correctly · class: a blueprint for objects · Object.entries: key and value together
  10. Chapter 10Project tools: understand and apply – Eight more building blocks with explanation pages and four exercises per lesson.
    At least one match with some · Checking all values with every · Selecting parts of an array without mutation · Transforming and flattening one level · Adjusting object copies with spread · Reading JSON and treating it as data · Using a default after a search · Combining small functions into a calculation
  11. Chapter 11DOM & events – Changing web pages with JavaScript.
    The DOM: the page as objects · Building elements from an array · One listener for many buttons: event.target · Live search with the input event · Boss: a counter with limits
  12. Chapter 12String & array methods – Split, cut out, format and analyse texts.
    split and join: splitting and joining texts · slice and at: taking out parts · Formatting texts: trim, toUpperCase, padStart · Texts character by character · Boss: word statistics
  13. Chapter 13Error handling & debugging – Report errors, catch them, clean up and check inputs safely.
    throw: reporting an error · finally: code that always runs · Your own error classes · Checking numbers: Number and isNaN · Boss: a safe calculator
  14. Chapter 14fetch, APIs & JSON – Loading data from the network.
    Reading nested JSON data · fetch with then chains · Sending data: fetch with POST · Values in the address: ?stadt=… · Boss: loading robustly with try and catch
  15. Chapter 15Promises & async/await – Work with values that arrive later – readably and without crashing.
    Promise and then · async and await · Waiting with setTimeout · Promise.all: several things at once · Boss: loading with an error case
  16. Chapter 17Browser storage & web APIs – localStorage and friends.
    Saving lists: JSON in localStorage · Cleaning up: removeItem and clear · Changing it later: setTimeout on the page · A countdown with setInterval · Boss: a notes app that remembers everything

Final project: Interactive quiz app

The logic of a quiz app: questions, evaluation and points.

How it works

Every lesson starts with short explanation pages. Then you practise with multiple-choice questions, fill-in-the-gap tasks, putting code in order and writing your own code – with hints and instant feedback. Free, without ads, on phone, tablet and PC.

Learn JavaScript now