Interface: interface Child extends Parent { ... } và extends nhiều: extends A, B.
- Type: type Combined = A & B (intersection).
- Interface có thể extend type và ngược lại.
typescript
interface Animal { name: string }
interface Pet extends Animal { owner: string }
interface Named { label: string }
interface RegisteredPet extends Pet, Named { id: number } // đa extends
// Type intersection tương đương:
type Combined = Pet & Named & { id: number };extends kiểm tra compatibility (không thể re-declare incompatible property), còn & intersection merge tất cả.