Skip to content

Phase 2 — Core Concepts

Phase 2 dives deep into the core mechanics of JavaScript. Understanding these concepts separates beginners from advanced developers. You’ll learn how JavaScript executes code, how this works, prototypal inheritance, ES6 classes, modules, iterators, generators, and how memory is managed.

  • Understand execution context and the call stack
  • Master the this keyword and its binding rules
  • Understand prototypal inheritance and the prototype chain
  • Use ES6 classes, modules, and Symbols effectively
  • Work with iterators and generators
  • Understand memory management and garbage collection
  • Phase 1 — JavaScript Fundamentals
  • Basic understanding of functions and objects
TopicDescription
Execution ContextGlobal, function, eval contexts; creation and execution phases
Call StackHow JavaScript tracks function calls
HoistingVariable and function hoisting mechanics
this KeywordBinding rules: default, implicit, explicit, arrow, new
PrototypesPrototype chain, __proto__, Object.create
InheritancePrototypal vs classical inheritance patterns
ClassesES6 class syntax, extends, super, static, private
ModulesES modules, named/default exports, dynamic imports
IteratorsIteration protocol, custom iterables, Symbol.iterator
GeneratorsGenerator functions, yield, async generators
SymbolsUnique identifiers, well-known symbols
MapKey-value collections with any key types
SetUnique value collections
WeakMap/WeakSetWeak references for memory-safe collections
Memory ManagementStack vs heap, memory lifecycle
Garbage CollectionMark-and-sweep, reference counting, V8 optimization
Execution Context → Call Stack → Hoisting → this Keyword → Prototypes → Inheritance → Classes → Modules → Iterators → Generators → Symbols → Map → Set → WeakMap/WeakSet → Memory Management → Garbage Collection

5–7 hours

  • Phase 1 — Fundamentals (Functions, Scope, Objects)
  • Phase 3 — Asynchronous JavaScript
  • Phase 8 — JavaScript Internals