Kann man Typen in TypeScript wie Interfaces erweitern (extends)?
Hallo zusammen! Ich habe gerade angefangen, TypeScript zu lernen, und bin auf ein Verständnisproblem gestoßen. Ich weiß, dass Interfaces mit `extends` erweitert werden können. Zum Beispiel:
```typescript
interface User {
name: string;
}
interface AdminUser extends User {
role: string;
}
```
Das funktioniert einwandfrei. Aber wenn ich dasselbe mit Typen (type alias) versuche, klappt es nicht:
```typescript
type User = {
name: string;
};
type AdminUser extends User { // ❌ Fehler: 'extends' funktioniert nicht mit Typen
role: string;
}
```
Ich habe verschiedene Varianten ausprobiert, aber TypeScript meckert. Im Internet steht, dass man Typen mit Schnittmengen (&) erweitern kann, aber ich verstehe nicht ganz, wie man das richtig macht und was der Unterschied zwischen Interfaces und Typen im Kontext der Erweiterung ist.
Könnt ihr mir bitte erklären, wie man Typen richtig erweitert? Kann man das überhaupt machen? Und wenn ja, wann sollte man besser `extends` für Interfaces und wann Schnittmengen für Typen verwenden?
Vielen Dank im Voraus für eure Hilfe!
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs