JavaScript
Mastering the fundamentals of web development
Foundation
What is JavaScript?
The complete introduction — what JS is, how it runs, and why it dominates the web
History & Evolution of JavaScript
From 10 days of coding to the world's most popular language — the full timeline
Development Environment Setup
Everything you need to start writing, running, and debugging JavaScript
Core Language
Variables — var, let, const
Deep dive into JavaScript variable declarations, scoping rules, and the Temporal Dead Zone
Data Types in JavaScript
The 7 primitives, objects, reference vs value, typeof quirks, and real-world type checking
Type Coercion & Equality
How JavaScript converts types behind your back — the source of its weirdest behavior
Operators in JavaScript
Every operator you'll ever need — arithmetic, comparison, logical, assignment, and modern ES6+ operators
Strings in JavaScript
String creation, template literals, 20+ essential methods, and real-world manipulation patterns
Numbers & Math
The Number type, floating point traps, parseInt/parseFloat, and the Math object
Control Flow
Conditionals, loops, and every way to control the execution path of your JavaScript code
Functions in JavaScript
Declarations, expressions, arrows, IIFE, first-class functions, pure functions, and everything in between
Scope in JavaScript
Global, function, block, lexical scope — understanding where variables live and how the scope chain works
Closures
The most important concept in JavaScript — how functions remember their outer scope
Arrays in JavaScript
Every array method you need — mutating, non-mutating, functional, and real-world data manipulation patterns
Objects in JavaScript
Object creation, property access, methods, utilities, deep vs shallow copy, and mastering objects
Destructuring & Spread
Extract values from arrays and objects with clean, modern syntax
Behind the Scenes
Execution Context
How JavaScript runs your code — the creation phase, execution phase, and the environment record
Hoisting
Why you can use functions before declaring them, and why var behaves differently from let/const
Call Stack & Memory
How JavaScript manages function calls, memory allocation, and garbage collection
The Event Loop
How JavaScript handles asynchronous code despite being single-threaded — the interview king topic
The this Keyword
How this works in every context — global, methods, arrows, classes, and callbacks
call, apply, bind
Explicitly control what this refers to — the three methods every JS developer must know
Advanced Concepts
Prototypes & Prototype Chain
JavaScript's real inheritance system — how objects inherit from other objects
OOP in JavaScript
Constructor functions, ES6 classes, inheritance, encapsulation, and when to use classes vs factory functions
Async JavaScript
Callbacks, Promises, async/await — handling asynchronous operations from basics to advanced patterns
Higher-Order Functions
Functions that accept or return functions — the foundation of functional JavaScript
Currying & Partial Application
Transforming functions to accept arguments one at a time — a powerful pattern for code reuse
Debounce & Throttle
Essential performance patterns for controlling how often functions execute — interview favorites
Iterators & Generators
Lazy evaluation, custom iterables, yield, and the iteration protocol
JavaScript Modules
From script tags to ES Modules — organizing code across files for maintainable applications
Error Handling
try/catch, custom errors, async error patterns, and building robust JavaScript applications
ES6+ Features
Every modern JavaScript feature from ES6 to ES2024 — the complete reference
Browser & DOM
DOM Manipulation
Selecting, creating, modifying, and removing elements — mastering the Document Object Model
Events in JavaScript
Event handling, propagation, delegation, and building interactive web applications
Browser APIs
localStorage, fetch, IntersectionObserver, Web Workers, and other powerful built-in browser features
Memory & Performance
Memory leaks, garbage collection, rendering optimization, and building fast JavaScript applications
Patterns & Architecture
DSA
Polyfills
Implement built-in JavaScript methods from scratch — the ultimate interview coding challenge
DSA — Arrays & Strings
Essential array and string algorithms with JavaScript — Two Sum, Sliding Window, Kadane's, Anagrams, and more
DSA — Linked Lists, Stacks & Queues
Implement fundamental data structures from scratch in JavaScript
DSA — Trees & Graphs
Binary trees, BSTs, DFS, BFS, graph traversal, and essential tree/graph algorithms in JavaScript
DSA — Dynamic Programming
Memoization, tabulation, and the most important DP problems solved in JavaScript
Machine Coding Challenges
Implement real components and utilities from scratch — the practical interview round
JavaScript Project Ideas
Build these projects to solidify your JavaScript skills — from beginner to advanced
Interview Prep
Interview Prep: Junior Level
Essential JavaScript interview questions for freshers and junior developers — fundamentals, syntax, and core concepts
Interview Prep: Mid Level
JavaScript interview questions for 2-4 year experience — async, prototypes, event loop, this keyword, and design patterns
Interview Prep: Senior Level
Advanced JavaScript interview questions for 4+ year experience — engine internals, design patterns, architecture, and tricky outputs