Kodokon kodokon.com

Funktionen typisieren: Parameter, Rückgabe, optionale Werte

Mache deine Funktionen sicherer, indem du ihre Parameter, ihren Rückgabewert und ihre optionalen Parameter typisierst.

9 Min. · 3 Fragen

Diese Lektion in Kodokon öffnen

Eine Funktion ist ein wiederverwendbares Mini-Programm: Sie erhält Parameter (ihre Eingaben) und kann einen Wert zurückgeben (ihre Ausgabe). Eine Funktion zu typisieren heißt, den Typ jedes Parameters anzugeben und danach den Typ des zurückgegebenen Werts, geschrieben hinter der schließenden Klammer.

TYPESCRIPT
function greet(name: string): string {
  return "Hello " + name + "!";
}

const message = greet("Karim");
console.log(message); // "Hello Karim!"
Eingabe: ein string. Ausgabe: ein string.

Manche Funktionen geben nichts zurück: Sie führen einfach eine Aktion aus, etwa eine Nachricht anzuzeigen. Ihr Rückgabetyp ist dann void, ein Wort, das "leer" bedeutet. TypeScript warnt dich, wenn du versuchst, ihr Ergebnis als Wert zu verwenden.

TYPESCRIPT
function logWelcome(name: string): void {
  console.log("Welcome, " + name + "!");
}

logWelcome("Fatou"); // prints, but returns nothing
void zeigt das Fehlen eines Rückgabewerts an.

Genau wie die Eigenschaften eines Interface kann ein Parameter mit einem ? optional gemacht werden. Der Aufrufer kann ihn dann angeben oder weglassen. Denke innerhalb der Funktion daran, den Fall zu behandeln, in dem er fehlt.

TYPESCRIPT
function makeCoffee(size: string, sugar?: boolean) {
  if (sugar) {
    return "A " + size + " coffee with sugar.";
  }
  return "A " + size + " coffee without sugar.";
}

makeCoffee("large", true); // with sugar
makeCoffee("small");       // sugar is missing
sugar? kann angegeben werden... oder auch nicht.
TYPESCRIPT
function repeat(word: string, times: number = 2) {
  return word.repeat(times);
}

console.log(repeat("ha"));    // "haha"
console.log(repeat("ha", 3)); // "hahaha"
Variante: ein Standardwert mit dem Zeichen =.

Wissenscheck

Stelle sicher, dass du die wichtigsten Punkte dieser Lektion behalten hast.

  1. Worauf bezieht sich bei function greet(name: string): string das zweite string?
    • Auf den Typ des Parameters name
    • Auf den Typ des von der Funktion zurückgegebenen Werts
    • Auf den Namen der Funktion
  2. Welcher Typ zeigt an, dass eine Funktion nichts zurückgibt?
    • null
    • empty
    • void
    • zero
  3. Wo muss ein optionaler Parameter in einer Funktion stehen?
    • Nach den Pflichtparametern
    • Vor den Pflichtparametern
    • An beliebiger Stelle in der Liste