Programming Languages

What and Why in JavaScript — Advanced Reference
What and Why in JavaScript — Advanced Reference
A topic-organised reference for the deeper JavaScript questions that surface in code review and interviews — duck typing, host environments, property descriptors revisited, Symbol and WeakMap, iterators and generators, the event loop, and the rules behind value vs reference semantics.
JavaScript Modules — ES Modules, CommonJS, and the Modern Module Ecosystem
JavaScript Modules — ES Modules, CommonJS, and the Modern Module Ecosystem
A complete tour of JavaScript modules — the historical landscape (IIFE, AMD, UMD, CommonJS), modern ES modules (export/import, default vs named, re-exports, dynamic import), interop between ESM and CJS in Node, package.json exports, and how TypeScript and bundlers fit in.
How to Understand Functional Programming in JavaScript
How to Understand Functional Programming in JavaScript
A practical introduction to functional programming in JavaScript — pure functions, immutability, first-class and higher-order functions, composition, currying, the standard-library toolkit, and where the discipline ends and pragmatism begins.
Modern JavaScript Object Features — Descriptors, Immutability, Symbols, and Iterators
Modern JavaScript Object Features — Descriptors, Immutability, Symbols, and Iterators
A reference tour of the modern object surface — property descriptors, Object.freeze / seal / preventExtensions, Symbol-keyed properties and well-known symbols, the iterable protocol, structuredClone, Object.groupBy, and proxies.
JavaScript Classes — Syntax, Inheritance, and Modern Features
JavaScript Classes — Syntax, Inheritance, and Modern Features
A complete tour of ES6 classes — constructors, instance and static members, inheritance with extends and super, private fields and methods, getters and setters, and how every class still sits on top of the prototype chain.
JavaScript Prototypes and the Prototype Chain
JavaScript Prototypes and the Prototype Chain
A deep, practical explanation of JavaScript prototypes — what [[Prototype]] really is, how the prototype chain is searched, the difference between `__proto__` and `prototype`, Object.create, and how prototypes power inheritance under the surface of every class.
JavaScript Objects — The Basics
JavaScript Objects — The Basics
A practical introduction to JavaScript objects — literals, property access, shorthand syntax, computed keys, methods, mutation by reference, and the difference between value semantics and reference semantics.
Modern JavaScript Functions — Destructured Parameters, async/await, Generators
Modern JavaScript Functions — Destructured Parameters, async/await, Generators
Modern JavaScript function features — destructured parameters with defaults, async / await, generators, iterators, tagged template literals, and the patterns that make production code readable.
JavaScript Functions in Depth — Closures, this, and Higher-Order Patterns
JavaScript Functions in Depth — Closures, this, and Higher-Order Patterns
A deep dive into the parts of JavaScript functions that everyone has to learn the hard way — closures, the `this` binding, `call` / `apply` / `bind`, higher-order functions, and the patterns built on top of them.
JavaScript Functions — The Basics
JavaScript Functions — The Basics
Introduction to JavaScript functions — function declarations, function expressions, arrow functions, parameters, default values, rest/spread, return values, and the difference between calling and referencing.
JavaScript Conditionals and Control Flow — if, switch, Ternary, and the Modern Nullish Toolkit
JavaScript Conditionals and Control Flow — if, switch, Ternary, and the Modern Nullish Toolkit
A practical guide to branching in modern JavaScript — truthy and falsy rules, if / else if / else, switch, the ternary operator, short-circuit evaluation, optional chaining (?.), and nullish coalescing (??).
JavaScript Arrays — Creation, Iteration, and the Modern Method Toolkit
JavaScript Arrays — Creation, Iteration, and the Modern Method Toolkit
A modern, practical tour of JavaScript arrays — literal vs constructor creation, sparse-array gotchas, the full iteration toolkit (forEach, map, filter, reduce, flat, find, some, every), destructuring and spread, and when to reach for typed arrays.
JavaScript Variables — let, const, var, Scope, and Hoisting
JavaScript Variables — let, const, var, Scope, and Hoisting
A modern, ES6+ first guide to declaring variables in JavaScript — when to use const, when to use let, why var still exists, and how scope, hoisting, and the temporal dead zone actually work.