Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
JavaScript Iterators and Generators: Symbol.iterator, yield and Iterator Helpers
We cover the iterable and iterator protocols, writing your own iterable with Symbol.iterator, how generators and yield pause and resume, infinite sequences, ES2025 iterator helpers and ES2026's Iterator.concat.
Advanced JavaScript Async Patterns: The Promise.all Family, Cancellation, Retry and Timeouts
We look at the differences between Promise.all, allSettled, any and race, ES2024's Promise.withResolvers, ES2025's Promise.try, supporting AbortSignal in your own functions, retry, timeouts and concurrency limits.
The JavaScript Event Loop in Depth: Tasks, Microtasks and Rendering Order
We work through output-order puzzles to see the task and microtask queues, where promises and queueMicrotask fit, when requestAnimationFrame runs in the rendering step, and why long tasks freeze the page.
JavaScript OOP Patterns: Inheritance or Composition? Factory Functions and Mixins
We talk about the cost of inheritance, combining behavior with composition, factory functions and mixins, choosing between closures and #private, the SOLID principles that fit JavaScript, and when a class is worth writing.
JavaScript Object Protection and Immutability: Property Descriptors, seal and freeze
We look at property descriptors, the sneaky defaults of Object.defineProperty, the difference between preventExtensions, seal and freeze, shallow versus deep freezing, and patterns for updating objects without mutating them.
The JavaScript Prototype Chain: How Objects Inherit from Each Other
We untangle the [[Prototype]] link, property lookup along the chain, __proto__ versus Object.getPrototypeOf, constructor functions, Object.create and the prototype machinery underneath class, step by step in the console.
Advanced Date Handling in JavaScript: Time Zones, UTC and Formatting with Intl
We see that Date holds a single moment, then cover UTC and ISO 8601 rules, Intl.DateTimeFormat options, "3 days ago" with Intl.RelativeTimeFormat, the daylight saving trap and a first look at Temporal.
JavaScript Modules in the Browser: import, export, Dynamic import() and Import Maps
We write a first module with type="module", see why file:// fails, and learn named and default exports, live bindings, dynamic import(), import maps and ES2025's JSON modules with import attributes.
JavaScript URL, URLSearchParams and the History API: Managing the Address Without a Reload
We take addresses apart with URL and URLSearchParams, look at the hash, compare pushState and replaceState, learn when popstate fires, and write a small framework-free SPA router.
JavaScript Web Storage and Cookies: localStorage, sessionStorage and document.cookie
We cover localStorage vs sessionStorage, storing objects with JSON, the cross-tab storage event, quota and security limits, cookie attributes through document.cookie, and why HttpOnly cookies stay invisible.
Advanced JavaScript Forms: FormData, the Constraint Validation API and Fetch
We collect values with form.elements and FormData, write our own rules with validity and setCustomValidity, catch the invalid event, and send the form with fetch without reloading the page.
Advanced JavaScript Events: Bubbling, Capturing, Event Delegation and CustomEvent
We walk through the capturing, target and bubbling phases, stopPropagation, event delegation with a single listener, the once/passive/signal options, CustomEvent and pointer events, with runnable examples.