Phase 2 — Core Concepts
Phase 2 — JavaScript Core Concepts
Section titled “Phase 2 — JavaScript Core Concepts”Introduction
Section titled “Introduction”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.
Learning Objectives
Section titled “Learning Objectives”- Understand execution context and the call stack
- Master the
thiskeyword 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
Prerequisites
Section titled “Prerequisites”- Phase 1 — JavaScript Fundamentals
- Basic understanding of functions and objects
Topics Covered
Section titled “Topics Covered”| Topic | Description |
|---|---|
| Execution Context | Global, function, eval contexts; creation and execution phases |
| Call Stack | How JavaScript tracks function calls |
| Hoisting | Variable and function hoisting mechanics |
| this Keyword | Binding rules: default, implicit, explicit, arrow, new |
| Prototypes | Prototype chain, __proto__, Object.create |
| Inheritance | Prototypal vs classical inheritance patterns |
| Classes | ES6 class syntax, extends, super, static, private |
| Modules | ES modules, named/default exports, dynamic imports |
| Iterators | Iteration protocol, custom iterables, Symbol.iterator |
| Generators | Generator functions, yield, async generators |
| Symbols | Unique identifiers, well-known symbols |
| Map | Key-value collections with any key types |
| Set | Unique value collections |
| WeakMap/WeakSet | Weak references for memory-safe collections |
| Memory Management | Stack vs heap, memory lifecycle |
| Garbage Collection | Mark-and-sweep, reference counting, V8 optimization |
Learning Path
Section titled “Learning Path”Execution Context → Call Stack → Hoisting → this Keyword → Prototypes → Inheritance → Classes → Modules → Iterators → Generators → Symbols → Map → Set → WeakMap/WeakSet → Memory Management → Garbage CollectionEstimated Learning Time
Section titled “Estimated Learning Time”5–7 hours
Related Topics
Section titled “Related Topics”- Phase 1 — Fundamentals (Functions, Scope, Objects)
- Phase 3 — Asynchronous JavaScript
- Phase 8 — JavaScript Internals