0Pricing
TypeScript Academy · Lektion

void, never und Funktionssignaturen

Verstehen Sie void für Funktionen ohne Rückgabewert und never für unerreichbaren Code.

void, never und Funktionssignaturen ist eine kostenlose TypeScript Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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

Die beiden speziellen Rückgabetypen void und never stehen für Funktionen, die keinen nützlichen Wert erzeugen, beziehungsweise für Funktionen, die niemals normal abgeschlossen werden.

void: Keine sinnvolle Rückgabe

void wird verwendet, wenn eine Funktion einen Seiteneffekt ausführt, aber keinen Wert zurückgibt. Der Rückgabetyp erlaubt die Rückgabe von undefined, signalisiert aber, dass der Rückgabewert nicht verwendet werden sollte.
function logError(msg: string): void {
  console.error(msg);
  // implicit return undefined
}

Unterschied zwischen void und undefined

void und undefined sind ähnlich, aber nicht gleich. Eine Funktion mit dem Typ void kann undefined zurückgeben. void signalisiert jedoch, dass der Aufrufer den Rückgabewert ignorieren sollte.
const fn: () => void = () => 42; // Allowed! Caller ignores return
const fn2: () => undefined = () => 42; // Error

void in Callbacks

Bei der Typisierung eines Callback-Parameters gibt void an, dass der Aufrufer den Rückgabewert nicht verwendet. Dadurch dürfen Callbacks jeden Typ zurückgeben.
function run(cb: () => void): void { cb(); }
run(() => 'hello'); // OK — return value ignored

never: Der unerreichbare Typ

never steht für einen Wert, der niemals auftritt. Eine Funktion mit dem Rückgabetyp never löst entweder einen Fehler aus oder läuft unendlich weiter.
function fail(msg: string): never {
  throw new Error(msg);
}
function loop(): never {
  while (true) {}
}

never bei Vollständigkeitsprüfungen

never wird in switch-Anweisungen verwendet, um sicherzustellen, dass alle Fälle einer Union behandelt werden. Eine Zuweisung an never verursacht einen Fehler, wenn ein Fall fehlt.
type Shape = 'circle' | 'square';
function area(s: Shape): number {
  switch (s) {
    case 'circle': return 3.14;
    case 'square': return 1;
    default:
      const _: never = s; // Error if a new shape is added
      return 0;
  }
}

never ist ein Subtyp von allem

never kann jedem Typ zugewiesen werden (da es niemals auftritt, erfüllt es jeden Typ zwangsläufig). Kein anderer Typ kann never zugewiesen werden.

Funktions-Typsignaturen

Ein Funktionstyp wird als `(param: Type) => ReturnType` geschrieben. Dadurch werden Funktionen als Werte erster Klasse beschrieben.
type Handler = (event: MouseEvent) => void;
type Transform = (input: string) => string;

Aufrufsignaturen in Interfaces

Interfaces können mithilfe der Syntax für Aufrufsignaturen aufrufbare Typen definieren.
interface Formatter {
  (value: string): string;
  locale: string;
}

Konstruktorsignaturen

Interfaces können mithilfe des Schlüsselworts new in einer Konstruktorsignatur auch konstruierbare Typen definieren.
interface Constructor {
  new (name: string): Animal;
}

void und never bei der Fehlerbehandlung kombinieren

Funktionen, die immer einen Fehler auslösen, verwenden never. Funktionen, die Fehler abfangen und nichts zurückgeben, verwenden void. Dieser Unterschied ist für die Kontrollflussanalyse wichtig.
function orThrow(val: string | null): string {
  if (val === null) fail('null!'); // never
  return val; // TypeScript knows this is reachable
}

Kurzer Test

Welcher Rückgabetyp signalisiert, dass eine Funktion immer einen Fehler auslöst und niemals normal zurückkehrt?

Zusammenfassung

Verwenden Sie void für Funktionen mit Seiteneffekten und ohne sinnvolle Rückgabe. Verwenden Sie never für Funktionen, die Fehler auslösen oder in einer Endlosschleife laufen. never ermöglicht Vollständigkeitsprüfungen und ist ein Subtyp aller Typen.

Häufig gestellte Fragen

Ist die Lektion „void, never und Funktionssignaturen“ kostenlos?

Ja — der vollständige Text von „void, never und Funktionssignaturen“ 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 „void, never und Funktionssignaturen“?

Verstehen Sie void für Funktionen ohne Rückgabewert und never für unerreichbaren Code. 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 4 von 4.

Wie lange dauert die Lektion „void, never und Funktionssignaturen“?

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. Parameter- und Rückgabetyp-Annotationen
  2. Optionale und Standardparameter
  3. Rest-Parameter und Spread mit Typen
  4. void, never und Funktionssignaturen
← Zurück zu TypeScript Academy