
Why HTML Form Values are Always Strings in JavaScript
Understand why HTML form values are always strings in JavaScript, plus safe conversion for numbers, booleans, checkboxes, radio buttons, and FormData.
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.

Understand why HTML form values are always strings in JavaScript, plus safe conversion for numbers, booleans, checkboxes, radio buttons, and FormData.

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.

null and undefined in JavaScriptCompare null and undefined in JavaScript, including assignment, missing values, typeof quirks, arithmetic behaviour, equality, and common bugs clearly.

An article which explains how to use modules in JavaScript, including exporting and importing named and default exports, and potential issues to watch out for.

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.

== and === in JavaScriptCompare == and === in JavaScript through type coercion, strict equality, surprising conversions, safer defaults, and when loose equality still appears.

An article that provides a beginner‑friendly introduction to classes in JavaScript, explaining what they are, how they work, and how to use them in your code.

Comparing arrays in JavaScript is trickier than it first looks. This guide covers reference equality, value comparison, and practical alternatives.

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

IIFEs were a common JavaScript pattern before modern modules took over. This guide explains what they do, why they existed, and when they still appear.

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

Use push() and unshift() to append or prepend JavaScript array items, with simple examples and the easily missed return value of each method.

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.