
Building Custom Directives in Angular
How to build custom directives in Angular when DOM behaviour belongs outside a component, and how to keep selectors and scope readable in larger templates.
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 nineteen articles collected together for you below.

How to build custom directives in Angular when DOM behaviour belongs outside a component, and how to keep selectors and scope readable in larger templates.

Distinguishing two approaches to detect palindrome numbers: the intuitive string method vs. the optimised mathematical technique, highlighting their merits.

Caching strategies for data fetching in Next.js, including force‑cache, revalidation, stale data trade‑offs, and the debugging traps teams hit in production.

Higher‑Order Components (HOCs) in React wrap components to enhance functionality. Here, I explore how HOCs work, common use cases, and when to use them.

defineProperties()Object.defineProperties() gives you fine‑grained control over JavaScript objects. This guide covers descriptors, defaults, and practical use cases.

map() MethodUse JavaScript map() to transform arrays and render JSX lists, with callback syntax, return values, practical examples, and readability tips in real code.

Explore Angular standalone components, what they replace, where NgModules still matter, and how to structure modern Angular applications cleanly.

React's reconciliation algorithm updates the UI by comparing the virtual DOM with the previous state. I explore how it works and why it improves performance.

Exploring the 'Find Median of Two Sorted Arrays' problem: Understand its significance in interviews, dive into a TypeScript solution, and test with Cypress.

The JavaScript event loop explained clearly, including tasks, microtasks, rendering, and why async code can still feel surprising under pressure.

call() Method in JavaScriptUncover the capabilities of JavaScript's `call()` for invoking functions with a custom context, a key technique for effective function and method management.

Angular dependency injection explained clearly, from injector scopes and tokens to practical service design, testing boundaries, and application structure.

Explore the concept of short‑circuiting in software development, with a focus on its application in JavaScript using logical operators (AND `&&` and OR `||`).

An exploration of techniques I used to to find differences between two strings in JavaScript; from character‑by‑character comparison to substring analysis.

How to use Vue Teleport for modals and portals, whilst keeping overlays accessible, maintainable, correctly layered, and out of awkward DOM nests.

Poor memory management in JavaScript can slow applications down and cause memory leaks. Here, I explore practical tips to write efficient, memory‑safe code.

An exploration of the nuances of the words 'indexes' and 'indices' in web development. Focusing on convention over logic for effective coding and communication.

Improve Angular routing with scalable URL design, lazy‑loaded feature boundaries, guarded routes, observable loading, and route‑tree maintenance.