Extending Multiple Interfaces

What

TypeScript allows an interface to extend multiple other interfaces at the same time, merging all their properties into a single new type.

How

You list the parent interfaces in a comma-separated list after the extends keyword:

interface Character { name: string; }
interface Magical { mana: number; }
interface Physical { strength: number; }

interface BattleMage extends Character, Magical, Physical {
  specialAbility: string;
}

Why

Multiple inheritance allows you to follow the principle of composition. You can define small, focused interfaces (traits) and then combine them into more specific, complex types as needed without duplicating property definitions.

Summary

Extending multiple interfaces is a powerful way to compose object structures from reusable building blocks.