Mert Özen Further With Every Line

Blog

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

Series
124 posts found
TypeScript in the Browser: DOM Types, querySelector and Events
Frontend PART 14

TypeScript in the Browser: DOM Types, querySelector and Events

We look at the lib.dom types, what querySelector returns and its generic form, element types like HTMLInputElement, event types and the event.target trap, then run tsc output on a page as a module script.

3 Nov 2026 7 min 10
tsconfig Basics: TypeScript 7 Defaults and Removed Options
Frontend PART 13

tsconfig Basics: TypeScript 7 Defaults and Removed Options

We go through the strict family, target, lib, types, module, outDir and rootDir, erasableSyntaxOnly and verbatimModuleSyntax, the TypeScript 6/7 defaults and the options removed in 7.0.

3 Nov 2026 8 min 12
Type Assertions, !, satisfies and as const in TypeScript: What to Tell the Compiler, and When
Frontend PART 12

Type Assertions, !, satisfies and as const in TypeScript: What to Tell the Compiler, and When

We look at what a type assertion with as does and doesn't check, the risk behind !, how satisfies from TS 4.9 checks while keeping the narrow type, and readonly literals with as const.

3 Nov 2026 8 min 12
Intersection and Structural Typing: How TypeScript Looks at Types
Frontend PART 11

Intersection and Structural Typing: How TypeScript Looks at Types

We look at structural typing, where TypeScript judges types by shape rather than name, the assignability rule, how it relates to excess property checking, and intersections that combine types with &.

3 Nov 2026 7 min 10
Typing Functions in TypeScript: Parameters, Return Types and Overloads
Frontend PART 10

Typing Functions in TypeScript: Parameters, Return Types and Overloads

We cover parameter and return types, optional, default and rest parameters, function type expressions and call signatures, the subtlety of void returns, overloads and the this parameter.

3 Nov 2026 8 min 12
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 10
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 11
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 10
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 10
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 12
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 13
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 10
Blog Map