Mit interface beschreibst du die Form eines Objekts. Der Compiler prüft dann, ob alle Felder passen. Mit type vergibst du Namen für beliebige Typen, auch Union-Typen. Felder mit ? sind optional, readonly verhindert Änderungen.
Interfaces kann man erweitern (extends), um gemeinsame Felder wiederzuverwenden.
interface Person {
name: string;
alter: number;
email?: string;
}
const mia: Person = { name: "Mia", alter: 17 };
type Status = "offen" | "erledigt";
interface Aufgabe extends Person { status: Status }Merke
interfacebeschreibt Objektformentypebenennt beliebige Typenreadonlyund?verfeinern Felder
Aufgabe
Beschreibe ein Produkt (Name, Preis, optional Beschreibung) als Interface.