Curated articles from MDN Web Docs, javascript.info, freeCodeCamp, and The Algorithms. All content is external — click to read on the original source.
Variable declarations, data types, literals, and type coercion basics.
High-level introduction to JS syntax, variables, operators and control flow.
Primitives vs objects, typeof, null vs undefined, and type checking techniques.
Function declarations, expressions, arrow functions, default params, and closures.
How var, let, and const behave with hoisting, temporal dead zone, and block scope.
How inner functions retain access to outer scope, and practical closure patterns.
JavaScript inheritance model: prototypes, Object.create(), and the prototype chain.
Implicit, explicit, new, and arrow function binding — with tricky edge cases.
map, filter, reduce, find, some, every, flat, flatMap — with examples for each.
Practical exercises to master forEach, map, filter, and reduce.
Destructuring assignment, rest/spread operators, and computed property names.
When to use Map vs plain objects, and Set for unique value collections.
JSON.stringify(), JSON.parse(), replacers, revivers, and common pitfalls.
The full async evolution — from callback hell to clean async/await syntax.
Promise.all, Promise.race, Promise.allSettled, and Promise.any explained.
Writing asynchronous code that reads like synchronous — patterns and error handling.
Call stack, microtask queue, macrotask queue, and execution order demystified.
function*, yield, Symbol.iterator, and lazy infinite sequences.
Document structure, node types, traversal, and manipulation methods.
addEventListener, event bubbling/capturing, delegation, and stopPropagation.
Making HTTP requests, handling responses, and working with JSON from APIs.
Persisting data in the browser, size limits, and serialization tips.
Arrow functions, template literals, default params, rest/spread, and more.
Named exports, default exports, dynamic import(), and module resolution.
class syntax, inheritance with extends, static methods, and private fields (#).
Safe property access with ?. and fallback values with ?? — real-world patterns.
Intercept and customise object operations for validation, logging, and reactivity.
Memory-friendly structures — when GC-able references make sense.
Bubble, selection, insertion, merge, and quicksort — with JS implementations.
Time and space complexity with concrete JS examples — know your Array methods.
Implement and analyse binary search on sorted arrays — O(log n) explained.
Writing recursive solutions, stack overflow risks, and tail-call optimisation.
Memoisation, tabulation, and classic DP problems solved in JavaScript.
Breadth-first and depth-first search with adjacency lists in JS.
All articles link to their original sources. Credit: MDN Web Docs (CC-BY-SA 2.5), javascript.info (CC-BY-NC-SA 4.0), freeCodeCamp, The Algorithms (MIT).