Introduction |
History of JS, ES versions, JS vs Java |
✅ |
✅ |
❌ |
❌ |
Basics & Syntax |
Variables (var/let/const), Data types, Operators |
✅ |
✅ |
❌ |
❌ |
Control Flow |
if/else, switch, loops (for, while, do-while) |
✅ |
✅ |
❌ |
❌ |
Functions |
Function declaration, Expression, Arrow functions |
✅ |
✅ |
❌ |
❌ |
Scope & Hoisting |
Global vs Local scope, Hoisting behavior |
✅ |
✅ |
✅ |
❌ |
Objects |
Object literals, Properties, Methods, this keyword |
✅ |
✅ |
✅ |
❌ |
Arrays |
Array methods (map , filter , reduce ), Iteration |
✅ |
✅ |
✅ |
❌ |
Strings |
String methods, Template literals |
✅ |
✅ |
❌ |
❌ |
DOM Manipulation |
getElementById , querySelector , Events |
✅ |
✅ |
❌ |
❌ |
Events |
Event bubbling, Event delegation, addEventListener |
✅ |
✅ |
✅ |
❌ |
Error Handling |
try/catch, throw, Error objects |
✅ |
✅ |
✅ |
❌ |
Asynchronous JS |
Callbacks, Promises, async/await |
❌ |
✅ |
✅ |
✅ |
Timers |
setTimeout, setInterval, requestAnimationFrame |
✅ |
✅ |
✅ |
❌ |
Prototypes & OOP |
Prototype chain, Classes, Inheritance |
❌ |
✅ |
✅ |
✅ |
Closures |
Lexical scope, Private variables |
❌ |
✅ |
✅ |
✅ |
Modules |
ES Modules (import/export ), CommonJS, AMD |
❌ |
✅ |
✅ |
✅ |
Regular Expressions |
Patterns, Flags, Validation use cases |
❌ |
✅ |
✅ |
❌ |
Advanced Functions |
Higher-order functions, Currying, Memoization |
❌ |
✅ |
✅ |
✅ |
Event Loop |
Call stack, Microtasks, Macrotasks, Job queue |
❌ |
❌ |
✅ |
✅ |
Async Patterns |
Promise.all, Promise.race, Observables |
❌ |
❌ |
✅ |
✅ |
Error Handling (Advanced) |
Custom errors, Global error handling, try...finally |
❌ |
✅ |
✅ |
✅ |
Web APIs |
Fetch API, LocalStorage/SessionStorage, Geolocation |
❌ |
✅ |
✅ |
❌ |
ES6+ Features |
Destructuring, Spread/rest, Optional chaining |
❌ |
✅ |
✅ |
✅ |
Functional Programming |
Immutability, Pure functions, Composition |
❌ |
❌ |
✅ |
✅ |
Performance Optimization |
Debouncing, Throttling, Lazy loading |
❌ |
❌ |
✅ |
✅ |
Security in JS |
XSS prevention, CSP, Sanitization |
❌ |
❌ |
✅ |
✅ |
Testing in JS |
Unit testing (Jest, Mocha), Mocks, Spies |
❌ |
✅ |
✅ |
✅ |
Build Tools |
Webpack, Babel, ESLint, Prettier |
❌ |
✅ |
✅ |
✅ |
Runtime & Engines |
V8, SpiderMonkey, JIT Compilation |
❌ |
❌ |
✅ |
✅ |
Design Patterns |
Singleton, Factory, Observer, Module Pattern |
❌ |
❌ |
✅ |
✅ |
Advanced Memory Mgmt |
Garbage collection, WeakMap/WeakSet, Leaks |
❌ |
❌ |
✅ |
✅ |
Meta-programming |
Proxy , Reflect , Symbols |
❌ |
❌ |
✅ |
✅ |
Concurrency & Workers |
Web Workers, Service Workers, Shared Workers |
❌ |
❌ |
✅ |
✅ |
Expert Level Concepts |
AST, JS engines internals, Event loop internals, Polyfills |
❌ |
❌ |
❌ |
✅ |