
JavaScript Rendering and SEO Checks
JavaScript rendering and SEO checks for pages that rely on client‑side behaviour, including content, links, metadata, fallbacks, and rendered output.
Articles
JavaScript is the working language behind most of my front‑end writing, from small browser behaviours to application state and asynchronous code. These articles favour the mechanism behind a feature over a clever trick, whether the subject is callbacks, async code, or a language edge that only becomes obvious in production.

JavaScript rendering and SEO checks for pages that rely on client‑side behaviour, including content, links, metadata, fallbacks, and rendered output.

Merging objects in JavaScript is straightforward once you know the tools. This guide covers Object.assign(), spread syntax, and overwrite behaviour.

FormDataSubmit native forms with JavaScript and FormData without losing files or repeated values. Let Fetch set the multipart boundary and handle failures correctly.

Event bubbling and capturing in JavaScript explained through propagation phases, event delegation, target/currentTarget, stopPropagation(), and handler order.

JavaScript frameworks streamline development with reusable components, state management, and optimised rendering. Here, I compare React, Vue.js, and Angular.

GET, POST, JSON, and ErrorsThe Fetch API for beginners, including GET requests, POST requests, JSON handling, response.ok, and why failed fetches need explicit error checks.

Make CMS templates maintainable with clear HTML, scoped CSS, cautious JavaScript, reusable patterns, editor‑safe assumptions, and predictable output.

Tagged template literals let you intercept and reshape template literal output. This guide explains the syntax and why the feature can be useful.

Escape and unescape special characters in JavaScript for strings, HTML, regular expressions, safe output, parsing, and practical data handling.

Integrating CMSes with HTML, CSS, and JavaScript enables dynamic, flexible content management. Here, I explore best practices, performance tips, and SEO.

React error boundaries explained with fallback UI, componentDidCatch(), getDerivedStateFromError(), logging, placement strategy, and what they cannot catch.

Object.keys(), Object.values(), and Object.entries() ExplainedObject.keys(), Object.values(), and Object.entries() explained for JavaScript objects, including iteration, snapshots, validation, and helper choice.

File‑system routing in Next.js explained clearly, including the pages directory, nested routes, index files, and why routing feels simpler than custom setups.

JavaScript hoisting moves declarations to the top of their scope. Here, I explore its impact on variables, functions, and best practices for avoiding pitfalls.

Closures let JavaScript functions retain access to parent scope variables. Here, I explore closures, scope, and practical uses for cleaner, more efficient code.

Static methods vs. instance methods in JavaScript classes explained clearly, including when to use each, common mistakes, and how class APIs stay readable.

Mutation and immutability in JavaScript explained through arrays, objects, push(), splice(), shared references, UI bugs, and safer update patterns.

Array.includes() vs. indexOf() in JavaScriptCompare Array.includes() and indexOf() in JavaScript, including boolean checks, returned positions, NaN handling, readability, and membership tests.