JavaScript Articles & Tutorials
Browse JavaScript topics, deep dives, and practical tutorials arranged for clearer reading and faster revision.
Overview
JavaScript — Course Overview
This series covers 45 topics organized into 5 phases — from absolute basics to advanced patterns. Use this page as your roadmap: read each phase in order, or jump directly to any topic.
Phase 1 — Foundations
Core building blocks every JavaScript developer must know. Start here if you are new to the language.
Introduction
What JS is, history, and how it works in the browserVariable
var, let, const — declaration, scope, and best practicesData Types
Primitive vs reference types: string, number, boolean, object…Operator
Arithmetic, comparison, logical, bitwise, and assignment operatorsConditional Statement
if/else, switch, ternary — control flow basicsLoops
for, while, do-while, for…of, for…inString
String methods, immutability, and common patternsFunction
Declaration, expression, arrow functions, parameters, returnNumber
Number type, NaN, Infinity, Math object methodsBoolean And Truthy & Falsy
Truthy/falsy values, type coercion in conditionsNull & Undefined
Difference, when each appears, and safe checksObject
Creating, accessing, mutating, and iterating objectsArray
Array methods — map, filter, reduce, find, slice, splice…Phase 2 — Core JavaScript Mechanics
How JavaScript actually runs. Understanding these topics transforms you from a beginner into a confident developer.
Type Coersion Part1
Implicit vs explicit coercion — the hidden JS behaviorTemplate Literals
Template strings, tagged templates, multiline stringsConsole
console.log, warn, error, table, time — debugging toolsScope
Global, function, and block scope explainedScope Chain & Lexical Scope
How JS resolves variable names up the scope chainHoisting
var hoisting, function hoisting, TDZ for let/constClosure
Functions that remember their outer environmentExecution Context
Global EC, function EC, creation vs execution phaseFunction & Call Stack
How function calls stack up and unwindWindow Object
Browser global object, properties, and methodsPhase 3 — Modern JavaScript Features
ES6+ features that modernized JavaScript. Widely used in real-world codebases and interviews.
Higher Order Function
Functions that accept or return other functionsDestructuring & Spread
Array/object destructuring, spread (...), rest paramsIterable & Iterator
Symbol.iterator, custom iterables, for…of internalsMap & Set
Map vs Object, Set vs Array — when and why to use eachCurrying
Partial application, arity, curried function patternsFunction Composition
compose/pipe patterns, building pipelines from small functionsCopying Object
Shallow vs deep copy — spread, Object.assign, structuredClonePhase 4 — Asynchronous JavaScript
The async model is one of JavaScript's defining features. Master this phase to handle real-world APIs and timing.
Timers
setTimeout, setInterval, clearTimeout, clearIntervalSynchronous, Asynchronous & callback
Blocking vs non-blocking code, callback patternPromise
Promise constructor, .then/.catch/.finally, chainingPromise API
Promise.all, allSettled, race, any — concurrent patternsAsync-Await
Syntactic sugar over Promises — writing async code like syncError Handling
try/catch/finally, custom errors, async error handlingEvent Loop
Call stack, task queue, microtask queue — the full pictureMicrotask Queue
Promise callbacks vs setTimeout — execution orderPhase 5 — Advanced Patterns & Performance
Deeper topics that power optimized, production-grade JavaScript.
This Keyword
How `this` is determined — call site, binding rulesCall, Apply, Bind
Explicitly setting `this`, borrowing methodsMemoization
Caching return values to avoid redundant computationMemory Management
Garbage collection, memory leaks, WeakMap/WeakRefFlattening
flat(), flatMap(), recursive flattening strategiesPower Of Reduce
Using Array.reduce to implement map, filter, flatten, groupBy…Storage
localStorage, sessionStorage, cookies — browser persistence