JavaScript Glossary
The JavaScript Glossary collects the concepts and vocabulary that describe how JavaScript code behaves and how it’s organized. It gives learners and developers precise names for what they read in tutorials, pull requests, and AI-written code. Each entry offers a short definition and, where it helps, an example to try in a JavaScript console.
Skim it when a tutorial, a pull request, or an MDN page uses a term like closure, hoisting, or microtask without stopping to explain it.
Topics covered include:
- Scope and binding: The visibility and availability of names (closure, lexical scope, hoisting, temporal dead zone (TDZ))
- Values and coercion: The copying, comparison, and conversion of values (primitive, reference, truthy, falsy, type coercion)
- Objects and prototypes: The sharing of behavior and access to properties (prototype, prototype chain, getter, setter)
- Functions: The forms and uses of functions (arrow function, callback, higher-order function)
- Syntax features: The unpacking, combination, and reading of values (destructuring, spread syntax, optional chaining, nullish coalescing)
- Async and the runtime: The scheduling of work (event loop, call stack, microtask, promise)
- Errors: The concepts behind failures and their propagation (exception, stack trace, error propagation)
- Iteration: The protocols behind loops and spread syntax (iterator, iterable, generator)
- Modules: The organization and sharing of code across files (module, ES modules (ESM), CommonJS)
- Ecosystem and platform: The language and its implementations (ECMAScript, TC39, Node.js, V8, npm)
Reserved words such as let and await live in JavaScript Keywords. Primitive types such as string and null live in JavaScript Primitive Types, and global objects such as Promise, JSON, and Object live in Standard Built-in Objects. This area picks up the concepts behind them. The idea of a promise and the JSON data format are defined here, while the methods of the Promise and JSON objects are covered in Standard Built-in Objects.