🚀 JavaScript Roadmap with Detailed Subtopics
1. Introduction
What is JavaScript
History (ES5 → ES6+ evolution)
JavaScript engines (V8, SpiderMonkey)
How JS runs (Browser vs [Link])
Interpreted vs compiled (JIT concept)
Single-threaded nature
2. Variables & Scope
Variable declarations (var, let, const)
Scope types:
o Global scope
o Function scope
o Block scope
Hoisting behavior
Temporal Dead Zone (TDZ)
Shadowing
Re-declaration vs re-assignment
Variable environments
3. Data Types
Primitive types:
o string, number, boolean
o null vs undefined
o bigint, symbol
Non-primitive:
o objects
o arrays
o functions
Dynamic typing
typeof operator quirks
4. Type Conversion
Implicit coercion
Explicit conversion:
o Number(), String(), Boolean()
Truthy & falsy values
Edge cases:
o [] == false
o null == undefined
5. Operators
Arithmetic operators
Assignment operators
Comparison operators
Logical operators
Bitwise operators
Ternary operator
Unary operators
Operator precedence
6. Control Flow
if, else if, else
switch statement
Nested conditions
Short-circuit evaluation
Truthy/falsy evaluation in conditions
7. Loops
for loop
while
do...while
for...of
for...in
break, continue
Infinite loops
Loop performance considerations
8. Arrays & Strings
Arrays
Array creation
Indexing
Array methods:
o push, pop, shift, unshift
o map, filter, reduce
o find, some, every
o slice, splice
Shallow vs deep copy
Strings
String immutability
Methods:
o slice, substring
o replace, split, trim
o includes, startsWith
Template literals
9. Functions
Function declaration
Function expression
Arrow functions
Parameters:
o Default parameters
o Rest parameters
Return values
First-class functions
Higher-order functions
IIFE (Immediately Invoked Function Expression)
Recursion
10. Objects
Object literals
Properties & methods
Dynamic property access
Object methods:
o [Link], values, entries
Object destructuring
Spread & rest operators
Object freezing/sealing
11. Scope & Execution Context
Execution context phases:
o Creation phase
o Execution phase
Call stack
Lexical environment
Scope chain
Variable environment vs lexical environment
Global execution context
12. Closures
Definition (function + lexical scope)
Closure creation
Data privacy
Real-world use cases:
o Encapsulation
o Memoization
Common pitfalls
13. this Keyword
Global context
Inside functions
Inside objects
Arrow function behavior
Event handlers
Explicit binding:
o call, apply, bind
Function borrowing
14. Equality
== vs ===
Type coercion in equality
[Link]()
Special cases:
o NaN
o -0 vs +0
Equality algorithms
15. Event Loop
Call stack
Web APIs
Callback queue
Microtask queue
Event loop cycle
Priority:
o Microtasks vs macrotasks
16. Callbacks
Callback functions
Synchronous vs asynchronous callbacks
Callback hell
Inversion of control
Error-first callbacks
17. Promises
Promise states:
o pending, fulfilled, rejected
Promise chaining
.then, .catch, .finally
Error propagation
Promise combinators:
o [Link]
o [Link]
o [Link]
o [Link]
18. Async/Await
Syntax sugar over promises
async functions
await keyword
Error handling with try/catch
Sequential vs parallel execution
19. Error Handling
try, catch, finally
throw
Built-in errors:
o TypeError, ReferenceError
Custom errors (class extends Error)
Debugging stack traces
20. DOM
DOM tree structure
Selecting elements:
o getElementById, querySelector
DOM manipulation:
o create, append, remove
Event handling:
o addEventListener
Event bubbling & capturing
Event delegation
21. Data Structures
Arrays (advanced usage)
Objects as maps
Map, Set
WeakMap, WeakSet
JSON (parse/stringify)
Structured cloning
22. Iterators & Generators
Iterator protocol
[Link]
Generator functions (function*)
yield
Lazy evaluation
23. Classes & OOP
Class syntax
Constructor
Methods
Inheritance (extends, super)
Encapsulation
Polymorphism
Static methods
24. Prototypes & Inheritance
Prototype chain
__proto__
prototype property
Prototypal inheritance
Constructor functions
Method sharing
25. Modules
ES Modules:
o import, export
Named vs default exports
CommonJS (require)
Module scope
Tree shaking
26. Memory Management
Memory lifecycle:
o allocation
o usage
o garbage collection
Garbage collection algorithms
Memory leaks:
o closures
o DOM references
27. Meta Programming
Proxies
Reflect API
Intercepting operations
Dynamic behavior modification
28. Typed Arrays
ArrayBuffer
TypedArray views
Binary data handling
Use cases (performance)
29. Intl (Internationalization)
[Link]
[Link]
Localization
Currency formatting
30. Debugging & Performance
Chrome DevTools:
o breakpoints
o call stack inspection
Performance profiling
Memory profiling
Debouncing & throttling
Optimization techniques
🎯 Final Advice (Important)
If you master:
Execution Context
Closures
Event Loop
Prototypes
👉 You’re already ahead of 90% of developers in interviews.