JavaScript Concepts: Basic to Advanced
Beginner (Basics of JavaScript)
**Syntax & Basics**:
- var, let, const
- Data types
- Operators
- Comments
**Control Flow**:
- if, else if, else
- switch
- Ternary
**Loops**:
- for, while, do...while
- break, continue
**Functions**:
- Function declaration/expression
- Arrow functions
- IIFE
**Arrays & Objects**:
- Creating and modifying
- Methods like push(), slice(), etc.
Intermediate
**DOM Manipulation**:
- querySelector, innerHTML, classList
**Events**:
- addEventListener, event types, preventDefault()
**ES6+ Features**:
- Template literals
- Destructuring
JavaScript Concepts: Basic to Advanced
- Spread/Rest
- map, filter, reduce
**Error Handling**:
- try...catch...finally, throw
**Closures & Callbacks**:
- Lexical scope, private variables
- Callback functions
Advanced JavaScript
**Asynchronous JS**:
- setTimeout, Promises, async/await
**JavaScript Runtime & Event Loop**:
- Call stack, microtasks, task queue
**This, Bind, Call, Apply**:
- What is 'this', differences in arrow vs normal functions
**OOP in JS**:
- Classes, constructor, inheritance
**Modules**:
- ESModules and CommonJS
Expert / Bonus Topics
**Functional Programming**:
- Pure functions, HOFs, currying
**Design Patterns**:
- Singleton, Factory, Module
**Event Delegation**:
- Event bubbling & optimization
JavaScript Concepts: Basic to Advanced
**Web APIs & Storage**:
- localStorage, fetch(), CORS
**Testing**:
- Jest, mocking async functions
Final Step: Use Cases
- Build apps: Todo, weather, chat
- Learn frameworks: React, Vue
- Backend: Node.js + Express