Menu
Coddy logo textTech

Optionale Parameter mit '?'

Teil des Abschnitts Einführung in TypeScript der JavaScript-Journey von Coddy. Lektion 25 von 73.

Manchmal möchten Sie Funktionen erstellen, bei denen bestimmte Parameter nicht immer erforderlich sind. TypeScript bietet die ?-Syntax an, um Parameter als optional zu kennzeichnen, was bedeutet, dass Aufrufer entscheiden können, ob sie diese beim Aufruf der Funktion angeben oder nicht.

Um einen Parameter optional zu machen, fügen Sie ein Fragezeichen nach dem Parameternamen, aber vor der Typannotation hinzu:

function greet(name: string, greeting?: string): string {
  if (greeting) {
    return greeting + ", " + name;
  }
  return "Hello, " + name;
}

In diesem Beispiel ist name erforderlich, während greeting optional ist. Sie können diese Funktion nur mit dem Namen aufrufen (greet("Alice")) oder mit beiden Parametern (greet("Alice", "Good morning")). Innerhalb der Funktion haben optionale Parameter den Typ string | undefined, daher sollten Sie prüfen, ob sie existieren, bevor Sie sie verwenden.

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Funktion namens createUserProfile, die zwei Parameter entgegennimmt: username vom Typ string (erforderlich) und displayName vom Typ string (optional). Die Funktion sollte einen String mit einer expliziten Rückgabetyp-Annotation zurückgeben.

Wenn beide Parameter angegeben werden, sollte die Funktion Folgendes zurückgeben: "Profile: [displayName] (@[username])"

Wenn nur der Benutzername angegeben wird, sollte die Funktion Folgendes zurückgeben: "Profile: @[username]"

Erstellen Sie eine weitere Funktion namens calculateDiscount, die zwei Parameter entgegennimmt: price vom Typ number (erforderlich) und membershipLevel vom Typ string (optional). Die Funktion sollte eine Zahl mit einer expliziten Rückgabetyp-Annotation zurückgeben.

Wenn beide Parameter angegeben werden, sollte die Funktion den um 10 % reduzierten Preis zurückgeben (multiplizieren mit 0.9).

Wenn nur der Preis angegeben wird, sollte die Funktion den ursprünglichen Preis unverändert zurückgeben.

Testen Sie Ihre Funktionen, indem Sie sie mit den folgenden Werten aufrufen und die Ergebnisse ausgeben:

  • Rufen Sie createUserProfile mit "john_doe" und "John Doe" auf
  • Rufen Sie createUserProfile mit nur "jane_smith" auf
  • Rufen Sie calculateDiscount mit 100 und "premium" auf
  • Rufen Sie calculateDiscount mit nur 75 auf

Geben Sie jedes Ergebnis in einer separaten Zeile in der oben angegebenen Reihenfolge aus.

Probier es selbst

// TODO: Schreiben Sie Ihren Code hier
// Erstellen Sie die Funktion createUserProfile mit den richtigen Typanmerkungen
// Erstellen Sie die Funktion calculateDiscount mit den richtigen Typanmerkungen

// Testen Sie die Funktionen und geben Sie die Ergebnisse aus
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Einführung in TypeScript

Übe selbstständig: Online-JavaScript-Compiler