JavaScript
Official docs outline
20 sections- Grammar and types
Variables (var/let/const), hoisting, scope, primitives and dynamic typing, literals and type coercion.
- Control flow and error handling
Conditionals, switch, try/catch/finally, throw, and Error objects.
- Loops and iteration
for, while, do...while, for...in, for...of, labels, break and continue.
- Functions
Declarations, expressions, arrow functions, parameters, default/rest arguments, scope, closures, and the arguments object.
- Expressions and operators
Assignment, comparison, logical and nullish operators, optional chaining, destructuring, spread and operator precedence.
- Equality comparisons and sameness
==, ===, Object.is, SameValueZero and type coercion rules.
- Numbers, strings and BigInt
Number and BigInt, Math, string methods, template literals, and Unicode handling.
- Regular expressions
Pattern syntax, flags, groups, lookahead, and matching APIs such as exec, match and replace.
- Indexed collections and arrays
Arrays, array methods like map/filter/reduce, array-likes, and typed arrays.
- Keyed collections
Map, Set, WeakMap, WeakSet and when to use them over plain objects.
- Working with objects
Object literals, properties, getters/setters, property descriptors, enumeration and ownership of properties.
- Using classes
class syntax, constructors, fields, private #fields, static members, extends and super.
- Inheritance and the prototype chain
Prototype-based inheritance, __proto__, Object.create, constructor functions and property lookup.
- Closures
Lexical scoping, closures capturing variables, private state via closures and common loop pitfalls.
- The this keyword
How this is determined by call site, call/apply/bind, arrow functions and class contexts.
- Iterators and generators
Iteration protocols, Symbol.iterator, generator functions and yield, async iterators.
- Promises and async/await
Promises, chaining, error handling, Promise.all/race/allSettled, async functions and await.
- Concurrency model and event loop
Call stack, task and microtask queues, run-to-completion, and agent coordination across workers.
- JavaScript modules
ES modules, import/export, default vs named exports, dynamic import and module scope.
- Memory management and metaprogramming
Garbage collection, memory leaks, Proxy and Reflect, and well-known symbols.
Each section links to the official page. Titles and summaries by Extra Credit; the docs belong to their authors.