Extra Credit

JavaScript

Official docs outline

20 sections
  1. Grammar and types

    Variables (var/let/const), hoisting, scope, primitives and dynamic typing, literals and type coercion.

  2. Control flow and error handling

    Conditionals, switch, try/catch/finally, throw, and Error objects.

  3. Loops and iteration

    for, while, do...while, for...in, for...of, labels, break and continue.

  4. Functions

    Declarations, expressions, arrow functions, parameters, default/rest arguments, scope, closures, and the arguments object.

  5. Expressions and operators

    Assignment, comparison, logical and nullish operators, optional chaining, destructuring, spread and operator precedence.

  6. Equality comparisons and sameness

    ==, ===, Object.is, SameValueZero and type coercion rules.

  7. Numbers, strings and BigInt

    Number and BigInt, Math, string methods, template literals, and Unicode handling.

  8. Regular expressions

    Pattern syntax, flags, groups, lookahead, and matching APIs such as exec, match and replace.

  9. Indexed collections and arrays

    Arrays, array methods like map/filter/reduce, array-likes, and typed arrays.

  10. Keyed collections

    Map, Set, WeakMap, WeakSet and when to use them over plain objects.

  11. Working with objects

    Object literals, properties, getters/setters, property descriptors, enumeration and ownership of properties.

  12. Using classes

    class syntax, constructors, fields, private #fields, static members, extends and super.

  13. Inheritance and the prototype chain

    Prototype-based inheritance, __proto__, Object.create, constructor functions and property lookup.

  14. Closures

    Lexical scoping, closures capturing variables, private state via closures and common loop pitfalls.

  15. The this keyword

    How this is determined by call site, call/apply/bind, arrow functions and class contexts.

  16. Iterators and generators

    Iteration protocols, Symbol.iterator, generator functions and yield, async iterators.

  17. Promises and async/await

    Promises, chaining, error handling, Promise.all/race/allSettled, async functions and await.

  18. Concurrency model and event loop

    Call stack, task and microtask queues, run-to-completion, and agent coordination across workers.

  19. JavaScript modules

    ES modules, import/export, default vs named exports, dynamic import and module scope.

  20. 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.

All 41