| 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 |
❌ |
❌ |
❌ |
✅ |