TypeScriptTypeScript18 min read

TypeScript Interfaces Deep

Go deeper into interfaces: optional props, readonly, extension, and implementing interfaces in classes.

David Miller
January 11, 2026
0.3k13

Interfaces describe object shapes.

  ## Basic
  
  ```ts
  interface User {
    id: number;
    name: string;
  }
  ```
  
  ## Optional & readonly
  
  ```ts
  interface User {
    readonly id: number;
    name: string;
    email?: string;
  }
  ```
  
  ## Extend interface
  
  ```ts
  interface Admin extends User {
    role: "admin";
  }
  ```
  
  ## Implement in class
  
  ```ts
  class Person implements User {
    constructor(public id: number, public name: string) {}
  }
  ```
  
  ## Graph
  
  ```mermaid
  flowchart TD
    A[User] --> B[Admin extends]
  ```
  
  ## Remember
  - Interfaces define contracts
  - Great for APIs and models
  
#TypeScript#Beginner#Interfaces