Marijn Haverbeke
Eloquent JavaScript (Free Book)
Marijn Haverbeke's fourth edition, free online — language fundamentals, the browser and Node, with projects including writing your own interpreter.
Every browser runs it, most servers can, and it's the one language you cannot avoid if you build for the web. JavaScript also has a reputation for being weird, which is fair — the weirdness is mostly historical, and it stops being confusing the moment someone explains the machinery underneath.
Six entries here, and they split cleanly into three kinds: references you read, challenges you do, and one deep look at how the engine actually behaves.
The Modern JavaScript Tutorial by Ilya Kantor is the one we open most often — language internals, the DOM, async, browser APIs, with exercises and worked solutions throughout, maintained for years. Eloquent JavaScript is Marijn Haverbeke's fourth edition, free online, and a different animal: fundamentals, then the browser, then Node, with projects that include writing your own interpreter. Read Kantor to look things up. Read Haverbeke to get better at thinking.
JavaScript30 is thirty vanilla builds in thirty days from Wes Bos — no frameworks, no build step, just browser APIs, canvas, media and array methods. It's the fastest cure we know of for framework-first learning. JavaScript Certification — freeCodeCamp is the current version of that path, and the longest commitment in this category: more than 1,300 browser-based steps through variables, the DOM, async and functional programming, then five projects and a certification exam.
Namaste JavaScript is Akshay Saini drawing execution contexts, hoisting, scope chains, closures and the event loop on a whiteboard. Nothing else here explains why your code runs in the order it does, and it's the entry we most often send to people two years into a job who still guess at closures. MDN: Dynamic Scripting with JavaScript is the gentlest starting point — 23 scaffolded articles from variables to JSON, with three challenges and Test-your-skills checks after each topic.
Kantor for reference, Wes Bos for reps, Namaste when something feels like magic. What we don't have is anything on modern tooling — bundlers, package management, testing — or on TypeScript's relationship to all of this, which is where most working JavaScript now lives.
Marijn Haverbeke
Marijn Haverbeke's fourth edition, free online — language fundamentals, the browser and Node, with projects including writing your own interpreter.
Thirty vanilla JavaScript builds in thirty days from Wes Bos — no frameworks, no build step, just browser APIs, canvas, media and array methods.
freeCodeCamp
freeCodeCamp's rebuilt JavaScript certification - 1,320 test-driven steps across theory, workshops and labs, covering the DOM, accessibility, async and algorithms. Five projects unlock a certification exam.
MDN Web Docs
Mozilla's scaffolded JavaScript introduction — 23 articles from variables to JSON, with three challenges and Test-your-skills checks after each topic.
Akshay Saini
Akshay Saini's deep look at JavaScript internals — execution context, hoisting, scope chains, closures and the event loop, drawn out on a whiteboard.
Ilya Kantor
Ilya Kantor's long-maintained JavaScript textbook: language internals, the DOM, async and browser APIs, with exercises and worked solutions throughout.