explaingit

leonardomso/33-js-concepts

📈 Trending66,445JavaScriptAudience · developerComplexity · 1/5ActiveLicenseSetup · easy

TLDR

A structured guide explaining 33 fundamental JavaScript concepts that confuse most developers, from type coercion to the event loop, with examples and external resources.

Mindmap

mindmap
  root((repo))
    What it covers
      Type coercion
      The event loop
      Closures
      Prototypes
    How it works
      Plain explanations
      Code examples
      External links
    When to use it
      Learning JS basics
      Interview prep
      Filling knowledge gaps
    Topics included
      Functions and scope
      Async patterns
      Object-oriented JS
      Functional programming

Things people build with this

USE CASE 1

Study JavaScript fundamentals systematically before building production applications.

USE CASE 2

Prepare for technical interviews by reviewing core language concepts and their edge cases.

USE CASE 3

Debug confusing JavaScript behavior by understanding why null == undefined or how this binding works.

USE CASE 4

Fill gaps in knowledge after years of writing JavaScript without formal language study.

Tech stack

JavaScript

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose including commercial, as long as you keep the copyright notice.

In plain English

This repository is a structured learning guide covering 33 fundamental concepts that every JavaScript developer should understand. The problem it addresses is that JavaScript has a number of behaviors and features that are genuinely confusing or counterintuitive, things like how this works in different contexts, why null == undefined is true but null === undefined is false, how the event loop handles asynchronous code, and what closures actually are. Many developers use JavaScript daily without fully understanding these underpinnings, which leads to bugs that are hard to diagnose. The repository itself is not executable code, it is a curated collection of explanations, examples, and links to high-quality external resources, organized into 33 numbered topics. Each concept entry includes a plain-English explanation, practical code examples illustrating the behavior, and links to articles, videos, and documentation for deeper reading. The companion website at 33jsconcepts.com renders the full guide in a more readable format. Topics are grouped into categories: fundamentals (primitive types, type coercion, equality), functions and execution (the call stack, event loop, closures), object-oriented JavaScript (prototypes, inheritance, the this keyword), asynchronous JavaScript (callbacks, promises, async/await), functional programming patterns, and advanced topics like how JavaScript engines work internally. You would use this repository when you are learning JavaScript seriously for the first time, preparing for technical interviews where these concepts come up frequently, or filling gaps in your understanding after years of writing JavaScript without studying the language systematically. It is language-level education rather than framework-specific, so it applies regardless of whether you are building with React, Node.js, or anything else. No installation is needed, it is documentation only.

Copy-paste prompts

Prompt 1
Explain JavaScript closures using examples from the 33-js-concepts repository structure.
Prompt 2
Show me how the JavaScript event loop works and why async/await matters for handling asynchronous code.
Prompt 3
What is the difference between == and === in JavaScript, and why does null == undefined return true?
Prompt 4
Help me understand prototypal inheritance in JavaScript and how it differs from class-based inheritance.
Prompt 5
Walk me through how the this keyword works in different contexts: functions, methods, arrow functions, and constructors.
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.