
for...in vs. for...of in JavaScript
Compare for...in and for...of in JavaScript, including keys, values, arrays, objects, iterables, inherited properties, and choosing the clearest loop.
Articles
Development is the broadest category in my writing, so it works as the main archive rather than a narrow subject label. It brings together implementation notes and technical decisions, with delivery lessons from across the rest of the site.

for...in vs. for...of in JavaScriptCompare for...in and for...of in JavaScript, including keys, values, arrays, objects, iterables, inherited properties, and choosing the clearest loop.

JSON.parse() and JSON.stringify() Explained for BeginnersJSON.parse() and JSON.stringify() explained clearly, including when to convert data, common mistakes, localStorage use, and why functions disappear.

Understand live HTMLCollection views, static NodeList snapshots, mutation‑skipping bugs, Array.from() conversion, and safe DOM iteration in 2016.

Array.from() and Array.of() in JavaScriptArray.from() and Array.of() in JavaScript explained with NodeLists, array‑like objects, generated arrays, and why new Array() can still catch people out.

arguments Object vs. Rest Parameters in JavaScriptThe arguments object vs. rest parameters in JavaScript, including readability, array behaviour, arrow function differences, and modern best practices.

input.value Returns a String in JavaScriptUnderstand why input.value returns a string, how valueAsNumber and checked differ, and how to handle strings, files and missing FormData entries.

Use object property shorthand and computed property names in JavaScript for cleaner literals, derived keys, method shorthand, and overwrite cautions.

Use HTML constraint validation attributes and APIs to improve client‑side form feedback without replacing accessible errors or server‑side checks.

Object.assign() in JavaScript: Merging and Shallow CopiesUse Object.assign() in JavaScript for merging and shallow copies, with target mutation, overwrite rules, nested‑object cautions, and newer alternatives.

Use feature detection in front‑end work by checking browser capability, choosing enhancement or fallback paths, and avoiding fragile user‑agent assumptions.

Render lists in React with stable keys, avoiding index and random‑key bugs, preserving component state correctly through filtering, sorting, and reordering.

Write safer JavaScript for older browsers by checking support, avoiding fragile assumptions, containing failures, and keeping core interactions usable.

call, apply, and bind in JavaScriptUnderstand call, apply, and bind in JavaScript, including this context, borrowed methods, callbacks, partial application, and production review caveats.

The JavaScript prototype chain underpins inheritance, enabling object property sharing. Here, I explore its workings, property searching, and quirks.

A practical overview of JavaScript build tools and module formats, covering globals, CommonJS, AMD, Browserify, bundling, and project trade‑offs.

Type coercion in JavaScript explained clearly, including implicit vs. explicit conversion, equality surprises, string concatenation, and number casting.

Thinking of moving from permanent employment to freelancing? Follow these 5 tips for a smooth transition and establish yourself as a successful freelancer.

Create object URLs for local file previews, revoke them at the right time, and avoid retaining Blob data too long or breaking a browser consumer.