Skip to content

learn

Nine tracks

Each one asks you to commit before it explains anything. Getting it wrong first is the point: a page that showed the answer beside the question would be a page nobody predicts on.

  1. 01

    Values and bindings

    What is in this binding right now?

  2. 02

    Hoisting, scope and the dead zone

    Does this name exist yet, and may it be read?

  3. 03

    The stack

    Which frame are we in, and what happens when it goes?

    written from M6 onward — the engine underneath it already runs

  4. 04

    Objects, references and mutation

    Do these two names point at the same object?

  5. 05

    Closures

    Which binding did this function capture, and is it shared?

    written from M6 onward — the engine underneath it already runs

  6. 06

    `this` and prototypes

    What is `this`, and where did that method actually come from?

    written from M6 onward — the engine underneath it already runs

  7. 07

    Control and failure

    Which line runs next?

    written from M6 onward — the engine underneath it already runs

  8. 08

    The event loop

    In what order do these effects actually happen?

  9. 09

    Reading what was generated

    What does this return, and what did it change on the way?

    written from M6 onward — the engine underneath it already runs