- Basics
- Control Flow
- Functions
- Objects
- DOM Manipulation
- Advanced Topics
- Memory Management
- Asynchronous JavaScript
- Design Patterns
- Web APIs and Browser Features
- Regular Expressions
- Performance Optimization
- JavaScript Engines and Internals
- Testing in JavaScript
- Security in JavaScript
- Introduction to JavaScript
- How to run JavaScript (Browser Console, External JS file)
- Variables and Constants (
var,let,const) - Data Types (String, Number, Boolean, Null, Undefined, Symbol, BigInt)
- Operators (Arithmetic, Comparison, Logical, Assignment, Conditional)
- String Manipulation (
length,slice(),substring(),replace(), etc.) - Arrays (Methods like
push(),pop(),shift(),unshift(),map(),filter(), etc.)
- Conditional Statements (
if,else,else if,switch) - Loops (
for,while,do...while) breakandcontinuestatements
- Function Declaration vs. Function Expression
- Parameters and Arguments
- Return Statements
- Arrow Functions (
()=>) - Higher-order Functions (functions as arguments or returned from another function)
- Closures and Scoping
- Object Creation (Object Literals,
new Object()) - Accessing and Modifying Object Properties
thiskeyword- Object Methods
- Object Destructuring
JSON(parsing and stringifying)
- Document Object Model (DOM) Overview
- DOM Selectors (
getElementById,querySelector, etc.) - Event Listeners (click, input, keypress)
- Creating and Appending Elements (
createElement(),appendChild()) - Modifying HTML and CSS using JavaScript
- Closures
- IIFE (Immediately Invoked Function Expressions)
- Function Currying
- Higher-Order Functions
- Memoization
- Prototypes and Prototypal Inheritance
thisContext- Object Property Descriptors
- Object Methods (
Object.create(),Object.assign(),Object.defineProperty()) call(),apply(), andbind()
- Event Loop
- Microtasks and Macrotasks
- Generators and Iterators
- Promises and Promise Chaining
- Async/Await
- Web Workers
- Garbage Collection
- Memory Leaks
- WeakMap and WeakSet
- Callbacks
- Promises
async/await- Fetch API and handling JSON
- Error handling (
try,catch)
- Singleton Pattern
- Module Pattern
- Factory Pattern
- Observer Pattern
- Service Workers
- LocalStorage, SessionStorage, and IndexedDB
- Geolocation API
- Push Notifications
- Intersection Observer API
- WebSockets
- Canvas API
- Advanced usage of regular expressions
- Building complex patterns
- Regex flags
- Debouncing and Throttling
- Lazy Loading
- Critical Rendering Path
- Minification and Tree Shaking
- JavaScript Engines (V8, SpiderMonkey)
- JIT Compilation
- Hoisting
- Scopes and Closures
- Unit Testing (Jest, Mocha)
- Test-Driven Development (TDD)
- End-to-End Testing (Cypress, Selenium)
- Mocking and Stubbing
- Cross-Site Scripting (XSS)
- Cross-Site Request Forgery (CSRF)
- Input Validation
- Content Security Policy (CSP)