33 JavaScript Concepts: a JavaScript fundamentals guide
33 JavaScript Concepts is worth bookmarking for one reason: it turns 'read the docs' into a checklist you can actually finish. The list format works because each entry links to its own focused writeup instead of dumping everything into one giant page. It won't teach you JavaScript from zero, and skimming the concept names without opening the linked pages defeats the point.
What the 33 JavaScript Concepts guide covers
33 JavaScript Concepts is a GitHub repository maintained by Leonardo Maldonado that organizes core JavaScript topics into a numbered list, from primitive types and closures through async/await, the event loop, and design patterns. Each entry links out to a full explanation with code examples rather than covering the concept inline in the README. The repo groups everything under headings like Fundamentals, Async JavaScript, and Advanced Topics.
How the guide is organized
- โFundamentals section covers primitive types, primitives vs objects, type coercion, equality operators, scope and closures, and the call stack.
- โAsync JavaScript section walks through callbacks, Promises, async/await, and generators/iterators as a sequence rather than isolated pages.
- โWeb Platform section covers the DOM, the Fetch API, and Web Workers -- mechanisms that sit outside pure language syntax.
- โA 'Beyond 33' extension adds Language Mechanics, Type System, Objects & Properties, Memory & Performance, Modern Syntax, Browser Storage, Events, Observer APIs, and Data Handling groups on top of the original 33.
- โEach linked page pairs an explanation with runnable code examples instead of just prose.
- โThe project has been translated into 40+ languages, listed in a separate TRANSLATIONS.md file.
Why JavaScript fundamentals still trip up developers
Most JavaScript tutorials teach syntax you'll use once and skip the mechanics that actually break in production -- why == and === disagree, why a Promise resolves before a setTimeout fires, why a closure keeps a variable alive after its function returns. 33 JavaScript Concepts exists because those specific gaps are also the ones JavaScript interview questions target, and scattering them across blog posts of wildly different quality makes them hard to study as a set.
Who the guide is built for
33 JavaScript Concepts suits a developer who already writes JavaScript day to day but has gaps in the 'why' behind the syntax -- the person who can use a Promise but couldn't explain microtask ordering if asked. It also works as an interview-prep checklist: read one concept a day and you cover the topics that show up in JS technical interviews. It's less useful for a total beginner who has never written a for loop, since the entries assume you already know basic syntax and just need the mechanism explained.
Strengths
- โEach concept gets a dedicated page instead of getting crammed into one long README.
- โCoverage goes past beginner basics -- Proxy & Reflect, WeakMap & WeakSet, and JS engine internals are included.
- โMIT licensed. You can fork or reuse it freely.
- โTopics are grouped into logical categories like Fundamentals, Async JavaScript, and Object-Oriented JavaScript rather than dumped in one flat list.
Where the guide falls short
- โณThe README doesn't say how often the individual concept pages get updated -- you can verify the repo structure but not the freshness of any single linked page.
- โณIt's a reading list, not a course with exercises, quizzes, or a way to check whether you actually absorbed a concept.
- โณNo install or usage instructions apply because there's nothing to run -- if you wanted a hands-on REPL or exercises bundled in, this isn't it.
- โณThe table of contents has grown well past the original 33 with the 'Beyond 33: Extended Concepts' section, so the name undersells how much material is actually here.
Alternatives for learning JavaScript fundamentals
Frequently asked questions
33 JavaScript Concepts is free -- it's an open-source GitHub repository under the MIT license, and the linked guide pages at 33jsconcepts.com are free to read without a paywall or signup. The repo also carries the hacktoberfest topic tag, so contributing back costs nothing either.
33 JavaScript Concepts assumes you already write basic JavaScript -- variables, functions, loops -- and want the mechanics behind it explained. A complete beginner who has never written a for loop will find entries like closures or the event loop hard to follow without that groundwork first.
33 JavaScript Concepts is a linked list of focused topic pages rather than a single continuous narrative. You can jump straight to closures or the event loop without reading earlier chapters, which a textbook's sequential structure usually doesn't allow.
33 JavaScript Concepts covers modern ES6+ syntax directly: it has entries for destructuring, spread/rest operators, optional chaining, nullish coalescing, template literals, ES Modules, and generators, alongside classes and other core-language topics. The extended 'Beyond 33' section adds tagged template literals and computed property names too.
33 JavaScript Concepts works for both -- the Fundamentals, Async JavaScript, and Functional Programming sections apply to any JavaScript runtime, while entries like DOM, Fetch API, and Web Workers are frontend-specific and the closures/event-loop material also matters for Node.js backend work.
33 JavaScript Concepts has been translated into 40+ languages by community contributors, with the full list of translations linked from a separate TRANSLATIONS.md file in the repository, so non-English speakers aren't limited to the original English version.
Best use cases
- โขStudying one concept a day as a structured warm-up before a JavaScript technical interview.
- โขLooking up a specific mechanism -- say, why this behaves differently inside an arrow function -- when you hit it mid-project.
- โขAuditing your own JavaScript knowledge by skimming the list and noting which concept names you can't explain out loud.
- โขOnboarding a junior developer who knows syntax but hasn't been taught the underlying mechanics.
Related repositories
Is 33-js-concepts worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of 33-js-concepts.
