Avatar ·

TypeScript: Was ist der Unterschied zwischen interface und type? Wann verwendet man was?

Hallo zusammen! Ich habe angefangen, TypeScript zu lernen und bin verwirrt über den Unterschied zwischen `interface` und `type`. Beide scheinen die Struktur von Objekten beschreiben zu können, aber ich verstehe nicht, wann ich welches Werkzeug verwenden soll.\n\nSchaut euch meinen Code an. Ich versuche, einen Benutzer und seine Adresse zu beschreiben:\n\n```typescript\n// Variante mit interface\ninterface IUser {\n name: string;\n age: number;\n address: IAddress;\n}\n\ninterface IAddress {\n city: string;\n street: string;\n}\n\n// Variante mit type\ntype TUser = {\n name: string;\n age: number;\n address: TAddress;\n}\n\ntype TAddress = {\n city: string;\n street: string;\n}\n```\n\nBeide Varianten funktionieren, aber ich habe gehört, dass es einige grundlegende Unterschiede gibt. Zum Beispiel habe ich gesehen, dass `type` etwas mit Unions machen kann, `interface` aber nicht. Und in manchen Projekten