DEV Community

Ali Hamza
Ali Hamza

Posted on

Day 177 of Learning MERN Stack

Hello Dev Community! 👋

It is officially Day 177 of my full-stack engineering track! Today, I explored TypeScript Object Modeling: Type Aliases vs Interfaces, Class Implementation Constraints, Intersection Types (&), Optional Fields (?), and readonly Immutability! 📘⚡

Here is a breakdown of how these typing rules dictate contract enforcement across TypeScript codebases.


🛠️ Technical Breakdown: Object Contracts & Type Mechanics

As captured in my code editor setup (index.ts):

1. Interface Implementation in Classes

  • Classes require statically known contracts. While union types cannot be directly implemented by classes, interfaces handle OOP structure cleanly:

typescript
  interface Cupsize {
    size: "small" | "large";
  }

  class Chai implements Cupsize {
    size: "small" | "large" = "small";
  }
Enter fullscreen mode Exit fullscreen mode

Top comments (0)