TS2689

Cannot extend an interface 'Animal'. Did you mean 'implements'?

Broken Code ❌

interface Animal {
  name: string;
}
 
class Dog extends Animal {
  name = 'Default Dog';
}

Fixed Code ✔️

The TypeScript compiler tells us already the solution: When implementing an interface, we have to use implements. If we inherit from classes, we use extends.

class Dog extends Animal {
  protected makeNoise(): string {
    return 'Woof!';
  }
}