Who it's for

  • First-time programmers and developers new to JavaScript specifically.
  • Working JavaScript developers who want deeper language knowledge, debugging skill, and pattern fluency.
  • Experienced engineers who need edge cases, internals, performance notes, and specification links.

The approach

Every important concept is reachable two ways: a guided lesson that builds intuition in order, and a reference entry you can jump to directly. Lessons never assume you've read the reference first; reference pages never assume you're mid-lesson. Both link to each other.

A few habits repeat throughout:

  • Predicting what code will do before finding out.
  • Worked examples that gradually remove scaffolding.
  • Treating errors as evidence to reason from, not failures to feel bad about.
  • Stating explicitly whether an example assumes a browser, Node, or both.
  • Distinguishing what the language guarantees from what a particular engine happens to do.

Prerequisites

None for the Beginner tier. No installed software is required to read the lessons โ€” every code example shows its expected output directly.

How to use the site

Follow the curriculum in order the first time through a tier โ€” later modules assume earlier ones. If you already know roughly what you're looking for, go straight to Reference or the Glossary. Progress is tracked locally in your browser only; it is not sent anywhere or tied to an account, and you can clear it any time from the Learn page.

Out of scope, for now

This is not a replacement for MDN or the ECMAScript specification โ€” lessons and reference pages link to primary sources and add teaching context around them. There are no user accounts, hosted code execution, certificates, or discussion forums, and no specific framework is taught ahead of the JavaScript foundations it depends on.

Privacy

This site collects no analytics and sets no cookies. The only data it stores is your lesson-completion progress, kept in your browser's localStorage under the keyjs:progress:v1 โ€” it never leaves your device, isn't tied to any account, and you can clear it any time from the Learn page's "Reset progress" button. A theme preference (light or dark) is stored the same way. No server-side logs of individual visits are kept beyond what Hostinger's shared hosting retains by default for operating the server.

Reporting a security issue

This is a static site with no accounts, forms that submit anywhere, or server-side code โ€” the practical attack surface is small, but if you find something that shouldn't be possible (a way to inject content into a page, a security header that isn't behaving as published, or similar), please describe it and how to reproduce it via the contact details on the site's domain registration. Please don't test destructively against the live site (e.g. automated scanning that generates significant load).

Corrections and content review

Every lesson and reference entry carries an "Updated" date. If you spot an error โ€” a wrong claim, an outdated API, a broken example โ€” it's a genuine bug in the content; treat it the same as you'd report any factual error to a written source. Published content is periodically re-checked against current browser and Node.js behavior rather than left to go stale indefinitely.