| S.No |
Topic |
Sub-Topics |
| 1 | Introduction to JavaScript | History of JavaScript, Features, Uses, JS vs Java, JS engines |
| 2 | JavaScript Basics | Variables, Data types, Operators, Expressions, Statements |
| 3 | Control Structures | If-else, Switch-case, For loop, While loop, Do-while loop |
| 4 | Functions | Function declaration, Function expression, Arrow functions, Parameters, Return values |
| 5 | Scope & Hoisting | Global scope, Local scope, Block scope, var vs let vs const, Hoisting behavior |
| 6 | Objects & Arrays | Object literals, Properties & methods, Arrays, Array methods, Nested objects |
| 7 | ES6 Features | Let & Const, Template literals, Destructuring, Default parameters, Spread & Rest operators |
| 8 | Strings & String Methods | String properties, Concatenation, Template literals, Common string methods, String manipulation |
| 9 | Numbers & Math | Number types, Math object, Number methods, Parsing, Random numbers |
| 10 | Date & Time | Date object, Creating dates, Methods, Formatting dates, Date arithmetic |
| 11 | DOM Manipulation | Document object, getElementById, querySelector, Changing content, Adding/removing elements |
| 12 | Events | Event types, addEventListener, Event object, Event bubbling, Event delegation |
| 13 | JavaScript BOM | Window object, Location, History, Navigator, Timers (setTimeout, setInterval) |
| 14 | JavaScript Forms | Form elements, Accessing values, Validation, Form submission, Prevent default |
| 15 | JavaScript Arrays Advanced | Array iteration, map, filter, reduce, find, some & every, sort & reverse |
| 16 | Objects Advanced | Object methods, Object.keys, Object.values, Object.entries, Object.assign, Prototypes |
| 17 | ES6 Classes | Class syntax, Constructor, Methods, Inheritance, Static methods, Getters & Setters |
| 18 | Modules | Export, Import, Named export, Default export, Using modules in browser & Node.js |
| 19 | Promises & Async/Await | Promise syntax, then & catch, Chaining promises, Async functions, Await keyword |
| 20 | Fetch API | GET request, POST request, Handling JSON, Error handling, Async/await integration |
| 21 | JavaScript Error Handling | try-catch-finally, Throwing errors, Error types, Custom errors, Debugging techniques |
| 22 | JavaScript Regular Expressions | RegExp syntax, Patterns, Testing, Matching, Replacing, Flags |
| 23 | JavaScript Closures | Definition, Lexical scope, Use cases, Private variables, Practical examples |
| 24 | JavaScript Callbacks | Callback functions, Asynchronous callbacks, Callback hell, Error-first callbacks, Best practices |
| 25 | JavaScript Higher-Order Functions | Definition, map, filter, reduce, forEach, Practical examples |
| 26 | JavaScript Event Loop | Call stack, Web APIs, Callback queue, Microtasks, Macrotasks, Understanding async behavior |
| 27 | JavaScript Memory Management | Garbage collection, Memory leaks, Closures & memory, Best practices, Profiling memory |
| 28 | JavaScript Design Patterns | Module pattern, Singleton pattern, Observer pattern, Factory pattern, Revealing module pattern |
| 29 | JavaScript Testing | Unit testing, Jest framework, Mocha & Chai, Testing DOM, Mocking functions |
| 30 | Hands-on Project | Create interactive web app, DOM manipulation, Event handling, Fetch API integration, Form validation |