
A Deep Dive into JavaScript's Proxy and Reflect API
A look into how JavaScript's Proxy and Reflect APIs work together to intercept and redefine object behaviour, including practical use cases and common patterns.
Articles
JavaScript is probably one of the most‑used programming languages in the world, and a cornerstone of front‑end (and more general) web development. It enables the development of interactivity and features that HTML and CSS alone simply cannot, and includes more advanced concepts like closures, callbacks, and asynchronous programming.
Below you will find a subset of articles from my blog specifically about JavaScript. This is an area I have worked with for many years, and it has been a regular subject in my writing. There are three hundred twenty‑one articles collected together for you below.

Proxy and Reflect APIA look into how JavaScript's Proxy and Reflect APIs work together to intercept and redefine object behaviour, including practical use cases and common patterns.

Solve Number of Provinces with union‑find in TypeScript, comparing DFS, connected components, path compression, union by rank, and matrix scanning.

NgRx Store vs. SignalStore explained with real Angular trade‑offs, including scope, TypeScript ergonomics, devtools, effects, and when neither is necessary.

Timing attacks explained for web developers, including side channels, string comparisons, real examples, and practical defences in JavaScript.

Vuex vs. Pinia explained with real trade‑offs, including API design, TypeScript ergonomics, migration paths, and when each choice still makes sense.

Solve the N‑Queens problem with TypeScript. This article explains the backtracking method and provides a step‑by‑step code solution. Ideal for web developers.

Use Angular signals for performance optimisation with derived state, computed values, OnPush, effects, RxJS interop, and measuring whether work improved.

How to solve Kth Smallest Element in a BST by leaning on in‑order traversal instead of extra sorting the tree already makes unnecessary in interviews.

RxJS offers a powerful, reactive approach to managing state in Angular apps. Here, I clearly explain practical patterns and show how to use them effectively.

React developer vs. Next.js developer explained through production concerns: rendering, routing, caching, SEO, deployment, CMS data, and debugging.

Solve Combination Sum with backtracking in TypeScript, using a growing path, remaining total, sorted pruning, reuse rules, and common mistakes too.

A clear walkthrough of LeetCode Jump Game using a greedy algorithm, including why the farthest‑reach approach works and where slower ideas get stuck.

Memoization helps JavaScript functions run faster by caching previous results. Here's a clear guide on how and when to use memoization effectively.

How to solve LeetCode Coin Change with dynamic programming, and why the obvious greedy approach fails on exactly the cases worth understanding in interviews.

The diameter of a binary tree is the longest path between any two nodes. I'll explain clearly how we can solve this problem using recursion in JavaScript.

How to solve Course Schedule with topological sort in TypeScript, comparing Kahn's algorithm with DFS cycle detection and why in‑degrees read clearly.

The JavaScript module pattern explained through closures and private state, plus the architectural lessons it still teaches modern developers today.

Solve Rotting Oranges with multi‑source BFS in TypeScript, treating each queue level as one minute and tracking fresh cells until spread completes.