JSInside
LearnPlaygroundTopicsGitHub
Start learning →

Curriculum

  • Execution Context
  • Call stack & phases
  • Hoisting
  • undefined vs not defined
  • Variable environment & invocation
  • The Shortest JS Program
  • Event Loop

✦ Pro tip

Use the playground to step through snippets and watch the call stack update in real time.

Documentation

Mastering JavaScript

A focused path through the runtime: how code is parsed, scheduled, and executed — with interactive diagrams and high-signal explanations.

Topics

  • Execution ContextVariable environment and thread of execution — how the engine runs your code one line at a time.
  • Call stack & phasesCreation vs execution phases, invocations, and how the engine pushes and pops execution contexts on the call stack.
  • HoistingCreation-phase bindings, var vs function declarations, undefined vs not defined, and function expressions.
  • undefined vs not definedundefined is a real placeholder value the engine assigns before execution — not defined is a ReferenceError for names that were never declared.
  • Variable environment & invocationSame name in global vs function code: per-call memory, shadowing, call stack, and console order 10 · 100 · 1.
  • The Shortest JS ProgramEven an empty file triggers the engine to create a global object (window), set up this, and build a Global Execution Context.
  • Event LoopCall stack, tasks, microtasks, and how async work fits in.