JavaScript Basics
- Introduction to JavaScript
- Variables and Data Types
- Operators (Arithmetic, Comparison, Logical)
- Control Flow (if, else, switch)
- Loops (for, while, do-while)
JavaScript Functions
- Defining Functions
- Function Parameters and Return Values
- Anonymous Functions
- Arrow Functions
- Function Scope
- Higher-order Functions
- Closures
- Immediately Invoked Function Expressions (IIFE)
JavaScript Objects
- Creating Objects
- Object Properties and Methods
- Accessing and Modifying Object Properties
- Object Constructors
- this Keyword in Objects
- Object Destructuring
- Object.assign() Method
JavaScript Arrays
- Creating Arrays
- Array Methods (push, pop, shift, unshift)
- Array Iteration (forEach, map, filter, reduce)
- Multi-Dimensional Arrays
- Array Destructuring
- Array Splice and Slice
- Array.sort() and Array.reverse()
JavaScript DOM Manipulation
- Accessing Elements (getElementById, querySelector)
- Modifying Element Content
- Creating and Removing Elements
- Changing Element Attributes
- Event Listeners
- DOM Traversal (parentNode, children, nextSibling)
- Manipulating Styles and Classes
- Handling Form Elements
JavaScript Events
- Event Handlers
- Event Propagation (Bubbling, Capturing)
- Mouse Events (click, mouseover, mouseout)
- Keyboard Events (keydown, keyup, keypress)
- Touch Events
- Custom Events
- Event Delegation
JavaScript Asynchronous Programming
- Callback Functions
- Promises
- Async and Await
- AJAX (Asynchronous JavaScript and XML)
- Fetch API
- Handling Asynchronous Errors
- Event Loop and Call Stack
JavaScript ES6 Features
- let and const
- Template Literals
- Destructuring Assignment
- Spread and Rest Operators
- Default Parameters
- Modules (import/export)
- Classes and Inheritance
- Promises and Generators
- Iterators
JavaScript Error Handling
- Try, Catch, Finally
- Throwing Errors
- Custom Error Objects
- Handling Asynchronous Errors
- Debugging JavaScript
JavaScript Local Storage
- Storing Data in Local Storage
- Retrieving Data from Local Storage
- Removing Data from Local Storage
- Session Storage vs Local Storage
JavaScript Classes
- Class Syntax
- Constructor and Methods
- Inheritance in Classes
- Static Methods
- Getters and Setters
- Encapsulation and Polymorphism
JavaScript Modules
- Introduction to Modules
- Importing and Exporting Modules
- Default Exports
- Named Exports
- Dynamic Imports
- Module Bundling (Webpack, Rollup)
JavaScript Regular Expressions
- Introduction to Regular Expressions
- Pattern Matching
- Regular Expression Methods (test, exec)
- Flags and Modifiers (g, i, m)
- Regular Expression Syntax
- Using Regular Expressions in JavaScript
JavaScript Design Patterns
- Singleton Pattern
- Factory Pattern
- Module Pattern
- Observer Pattern
- Prototype Pattern
- Decorator Pattern
JavaScript Web APIs
- DOM API
- Canvas API
- Fetch API
- Geolocation API
- LocalStorage API
- WebSockets API
- Notification API
- Service Workers