0Pricing
TypeScript Academy · Lektion

Objektstrukturen mit Interfaces definieren

Verwenden Sie interface, um die Struktur eines Objekts zu beschreiben.

Objektstrukturen mit Interfaces definieren ist eine kostenlose TypeScript Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des TypeScript Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der TypeScript Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

Interfaces beschreiben die Struktur von Objekten in TypeScript. Sie legen fest, welche Eigenschaften vorhanden sind, welche Typen sie haben und ob sie optional oder readonly sind.

Grundlegendes Interface

Definieren Sie ein Interface mit dem Schlüsselwort `interface`, gefolgt von den Eigenschaftsnamen und ihren Typen.
interface User {
  id: number;
  name: string;
  email: string;
}
const alice: User = { id: 1, name: 'Alice', email: 'a@b.com' };

Optionale Eigenschaften mit ?

Kennzeichnen Sie Eigenschaften mit `?` als optional. Eine optionale Eigenschaft kann vorhanden sein oder fehlen.
interface Config {
  host: string;
  port?: number;     // optional
  timeout?: number;  // optional
}

Readonly-Eigenschaften

Readonly-Eigenschaften können einmal (bei der Erstellung) gesetzt, danach aber nicht mehr geändert werden.
interface Point {
  readonly x: number;
  readonly y: number;
}
const p: Point = { x: 5, y: 10 };
// p.x = 0; // Error!

Methodensignaturen

Interfaces können Methodensignaturen enthalten, die die Struktur der Funktion beschreiben.
interface Animal {
  name: string;
  speak(): string;
  move(distance: number): void;
}

Indexsignaturen

Verwenden Sie eine Indexsignatur, wenn das Objekt dynamische Schlüssel eines bestimmten Typs besitzt.
interface StringMap {
  [key: string]: string;
}
const headers: StringMap = {
  'content-type': 'application/json',
  'accept': 'text/html',
};

Strukturelle Typisierung

TypeScript verwendet strukturelle Typisierung – ein Objekt erfüllt ein Interface, solange es die erforderlichen Eigenschaften besitzt, unabhängig davon, wie es erstellt wurde.
interface Named { name: string; }
function greet(obj: Named) { console.log(obj.name); }
greet({ name: 'Alice', age: 30 }); // Extra props OK when not a literal

Prüfung auf überzählige Eigenschaften

TypeScript meldet einen Fehler, wenn ein Objekt-Literal zusätzliche Eigenschaften enthält, die nicht im Interface vorkommen. Dies wird als Prüfung auf überzählige Eigenschaften bezeichnet.
interface Config { host: string; }
// const c: Config = { host: 'localhost', extra: 1 }; // Error on literal
const obj = { host: 'localhost', extra: 1 };
const c: Config = obj; // OK — not a fresh literal

Interface für Funktionstypen

Interfaces können aufrufbare Typen mit einer Aufrufsignatur beschreiben.
interface Greeter {
  (name: string): string;
}
const greet: Greeter = name => 'Hello, ' + name;

Verschachtelte Interfaces

Eigenschaften können auf andere Interfaces verweisen, um verschachtelte Objektstrukturen zu erstellen.
interface Address { street: string; city: string; }
interface Person { name: string; address: Address; }
const p: Person = { name: 'Alice', address: { street: '1 Main', city: 'NY' } };

Interface und Klasseninstanz

Interfaces beschreiben die öffentliche Struktur einer Klasse, werden aber zur Laufzeit entfernt. Die Klasse stellt die Implementierung bereit.
interface Saveable { save(): Promise<void>; }
class UserService implements Saveable {
  async save() { /* ... */ }
}

Kurzer Test

Was geschieht in TypeScript, wenn Sie ein Objekt-Literal mit einer zusätzlichen Eigenschaft einem Interface-Typ zuweisen?

Zusammenfassung

Interfaces definieren Objektstrukturen mit typisierten Eigenschaften, optionalen und readonly-Modifikatoren, Methodensignaturen und Indexsignaturen. TypeScript verwendet strukturelle Typisierung – entscheidend ist die Kompatibilität der Struktur, nicht die Deklaration.

Häufig gestellte Fragen

Ist die Lektion „Objektstrukturen mit Interfaces definieren“ kostenlos?

Ja — der vollständige Text von „Objektstrukturen mit Interfaces definieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des TypeScript Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der TypeScript Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Objektstrukturen mit Interfaces definieren“?

Verwenden Sie interface, um die Struktur eines Objekts zu beschreiben. Du übst TypeScript Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um TypeScript Academy zu starten?

Keine Vorkenntnisse erforderlich. TypeScript Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Objektstrukturen mit Interfaces definieren“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser TypeScript Academy-Lektion Code schreiben und ausführen?

Ja. Jede TypeScript Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Objektstrukturen mit Interfaces definieren
  2. Typ-Aliase für komplexe Typen
  3. Interface-Erweiterung und -Zusammenführung
  4. Interface vs. Type: Wann welches verwenden
← Zurück zu TypeScript Academy