TypeScriptTypeScript22 min read

TypeScript Advanced Interfaces

Deep dive into interfaces: extension, merging, optional and readonly fields, and real API modeling.

David Miller
November 28, 2025
3.2k86

Interfaces describe the shape of objects and help teams agree on data contracts.

      ## Extending interfaces
      ```ts
      interface Person {
        name: string;
      }
      
      interface Employee extends Person {
        id: number;
        role: string;
      }
      
      const emp: Employee = { name: "Tom", id: 1, role: "Dev" };
      ```
      
      ## Optional and readonly
      ```ts
      interface Config {
        readonly host: string;
        port?: number;
      }
      ```
      
      ## Interface merging
      Same name interfaces merge automatically.
      
      ```ts
      interface User {
        name: string;
      }
      
      interface User {
        age: number;
      }
      
      const u: User = { name: "Sarah", age: 25 };
      ```
      
      ## Why useful?
      - API contracts
      - shared models
      - plugin systems
      
      ## Graph
      ```mermaid
      flowchart TD
        A[Base Interface] --> B[Extended Interface]
        B --> C[Concrete Object]
      ```
      
      ## Remember
      - Interfaces define contracts
      - They can extend and merge
      - Great for object shapes
      
#TypeScript#Advanced#Interfaces