Mert Özen Further With Every Line

Blog

Mert Özen's blog posts on software development, backend, frontend, and DevOps.

Series
671 posts found
Narrowing in TypeScript: Shrinking Unions with Control Flow Analysis
Frontend PART 09

Narrowing in TypeScript: Shrinking Unions with Control Flow Analysis

We see how TypeScript narrows unions through control flow analysis: typeof, truthiness, equality, in and instanceof checks, discriminated unions and exhaustive checks with never.

3 Nov 2026 8 min 32
Union and Literal Types in TypeScript: One Value, Several Possibilities
Frontend PART 08

Union and Literal Types in TypeScript: One Value, Several Possibilities

We cover 'either this or that' union types, literal types for fixed sets of values, why literals widen inside objects, a first look at as const, and why unions need narrowing.

3 Nov 2026 8 min 29
Type Aliases and Interfaces in TypeScript: Giving Your Types a Name
Frontend PART 07

Type Aliases and Interfaces in TypeScript: Giving Your Types a Name

We give types names with type aliases and interfaces, compare extends with intersections, look at declaration merging, and cover when to pick which one and how to name them well.

3 Nov 2026 9 min 27
Object Types in TypeScript: Optional and readonly Properties and Index Signatures
Frontend PART 06

Object Types in TypeScript: Optional and readonly Properties and Index Signatures

Inline object types, optional and readonly properties, index signatures, Record, and the fresh object literal rule behind excess property checking: why TypeScript only sometimes catches extra properties.

3 Nov 2026 7 min 27
Array and Tuple Types in TypeScript: readonly, Optional Elements and Named Tuples
Frontend PART 05

Array and Tuple Types in TypeScript: readonly, Optional Elements and Named Tuples

string[] versus the generic Array form, readonly arrays, fixed-length tuples, optional and rest elements, named tuples, and how the noUncheckedIndexedAccess setting changes reads by index.

3 Nov 2026 8 min 29
Basic and Special Types in TypeScript: any, unknown, never and void
Frontend PART 04

Basic and Special Types in TypeScript: any, unknown, never and void

Alongside string, number, boolean, bigint and symbol, we look at null and undefined in strict mode, why any is dangerous, how unknown makes it safe, and what void and never mean.

3 Nov 2026 7 min 27
Type Inference and Annotations in TypeScript: When Do You Write the Type Yourself?
Frontend PART 03

Type Inference and Annotations in TypeScript: When Do You Write the Type Yourself?

How TypeScript infers types on its own, the widening difference between let and const, why parameters get annotations, and when you should write a return type explicitly, with examples.

3 Nov 2026 8 min 28
Setting Up TypeScript: Running Code Is Not the Same as Type-Checking It
Frontend PART 02

Setting Up TypeScript: Running Code Is Not the Same as Type-Checking It

The TypeScript Playground, installing with npm, tsc --init, npx tsc --noEmit and node file.ts on Node 26: why running code doesn't mean type-checking it, and how to read your first error message.

3 Nov 2026 7 min 28
What Is TypeScript and Why Does It Exist? The Type Layer on Top of JavaScript
Frontend PART 01

What Is TypeScript and Why Does It Exist? The Type Layer on Top of JavaScript

We look at the type layer TypeScript adds on top of JavaScript, the difference between compile time and runtime, what type checking catches and what changed with TypeScript 7.

3 Nov 2026 6 min 29
JavaScript RegEx Basics: Searching and Validating Text with Regular Expressions
Frontend PART 19

JavaScript RegEx Basics: Searching and Validating Text with Regular Expressions

We use test, match, matchAll and replace with regular expressions, learn character classes, quantifiers, groups and the g, i and m flags, write email, phone and postal code checks and meet RegExp.escape.

3 Nov 2026 9 min 28
JavaScript Date Basics: Creating, Calculating and Formatting Dates
Frontend PART 18

JavaScript Date Basics: Creating, Calculating and Formatting Dates

We see that a Date is really a timestamp, then learn how to create dates, the zero-based month trap, get/set methods, the difference between two dates and formatting with toLocaleDateString and Intl.DateTimeFormat.

3 Nov 2026 8 min 25
The JavaScript BOM: window, location, navigator and Timers
Frontend PART 17

The JavaScript BOM: window, location, navigator and Timers

We get to know the browser objects: the global window, location for the address, navigating with history, navigator and screen info, timers with setTimeout and setInterval, and why alert, confirm and prompt are rarely used.

3 Nov 2026 7 min 33
Blog Map