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
this
Keyword:- 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