JavaScript Fundamentals
- Data Types
- Primitive: string, number, boolean, null, undefined, symbol, bigint
- Reference: object, array
- Type Coercion & Conversion:
==vs===- Implicit vs explicit conversion
- Truthy & Falsy Values:
- Falsy:
false,0,"",null,undefined,NaN
- Falsy:
- Scope & Closures:
- Global, local, block scope, lexical scope
- Hoisting:
- Function and variable hoisting
- The
thisKeyword:- Arrow functions vs regular functions
- Prototype & Prototypal Inheritance
- Event Loop & Asynchronous JavaScript:
- Microtasks & macrotasks
- Memory Management & Garbage Collection
JavaScript Methods & Functions
- String Methods:
slice(),substring(),replace(),split(),trim(),toUpperCase(),toLowerCase()
- Number Methods:
toFixed(),parseInt(),parseFloat()
- Array Methods:
push(),pop(),shift(),unshift(),map(),filter(),reduce(),find(),sort(),forEach(),includes(),indexOf(),concat()
- Object Methods:
Object.keys(),Object.values(),Object.entries(),Object.assign(),Object.freeze()
- Function Methods:
bind(),call(),apply()
- Date Methods:
getFullYear(),getMonth(),getDate(),toISOString()
Asynchronous JavaScript
- Callbacks
- Promises:
.then(),.catch(),.finally()
- Async/Await
- Fetch API & HTTP Requests
- Error Handling:
try...catch
ES6+ Features
- Destructuring Assignment
- Spread & Rest Operators
- Arrow Functions
- Template Literals
- Modules:
import,export
- Default & Named Parameters
- Optional Chaining (
?.) - Nullish Coalescing Operator (
??) - Promises & Async/Await
Data Structures & Algorithms
- Big O Notation
- Sorting Algorithms:
- Bubble Sort, Quick Sort, Merge Sort
- Searching Algorithms:
- Binary Search, Linear Search
- Recursion
- Higher-Order Functions
- Collections:
- Map, Set, WeakMap, WeakSet
- Linked Lists, Stacks, Queues
- Trees:
- Binary Search Trees, AVL Trees
- Graph Traversal:
- DFS, BFS
DOM Manipulation
- Selecting Elements:
getElementById(),querySelector(),querySelectorAll()
- Modifying Elements:
innerText,innerHTML,classList.add()
- Event Listeners:
addEventListener()
- Event Delegation
- Local Storage & Session Storage
- Working with Forms & Inputs
React Basics
- Components & Props
- State Management with
useState - Effect Hook (
useEffect) - Context API
- React Router
- Handling Forms in React
- Conditional Rendering
- Lists & Keys in React
- Optimizing Performance:
useMemo,useCallback
Git & GitHub
- Basic Git Commands:
git init,git add,git commit,git push
- Branching & Merging:
git branch,git checkout,git merge
- Rebasing & Stashing
- Handling Merge Conflicts
- Git Ignore & Git Logs
HTTP & APIs
- HTTP Methods:
GET,POST,PUT,DELETE
- REST vs GraphQL
- Status Codes:
200,201,400,404,500
- Working with APIs:
- Fetch, Axios
- JWT Authentication
CSS & Responsive Design
- CSS Flexbox & Grid
- CSS Selectors & Specificity
- Media Queries
- CSS Variables
- Animations & Transitions
- SASS & Tailwind Basics
Debugging & Optimization
- Chrome DevTools
- Common JavaScript Errors & Fixes
- Performance Optimization:
- Debouncing, Throttling
- Memory Leaks in JavaScript
- Lazy Loading & Code Splitting