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.
Aufgabe
EinfachErstellen 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
createUserProfilemit"john_doe"und"John Doe"auf - Rufen Sie
createUserProfilemit nur"jane_smith"auf - Rufen Sie
calculateDiscountmit100und"premium"auf - Rufen Sie
calculateDiscountmit nur75auf
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 ausDiese 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
1Erste Schritte mit TS
Was ist TypeScript?Warum TypeScript verwenden?Dein erster TypeScript-CodeKompilierungsprozess & FehlerZusammenfassung: Einführung in TS4Arbeiten mit Funktionen
Typisierung von Parametern & RückgabewertenTypisierung von Arrow-FunktionenDer Rückgabetyp 'void'Optionale Parameter mit '?'Standard-ParameterwerteTypisierung von Rest-ParameternDefinieren von FunktionstypenZusammenfassung: Typisierte Funktionen erstellen2Basis-Typen
Basis-Typen: str, num, booleanDer 'any'-Typ: Der NotausgangDer 'unknown'-TypArbeiten mit 'null' & 'undef'Typinferenz in der PraxisExplizite Typ-AnnotationenZusammenfassung: Übung zu Basis-Typen5Typen: Aliase, Unions & Intersections
Typ-Aliase für primitive DatentypenUnion-Typen ('|')Arbeiten mit Union-TypenLiteral-TypenIntersection-Typen ('&')Kombinieren von Typ-AliasenZusammenfassung: Fortgeschrittene Typ-Kombinationen3Datenstruktur: Arrays & Tupel
Typisierte Arrays'readonly'-Modifikator für ArraysWas ist ein Tupel?Deklarieren von und Zugriff auf TupelDestrukturierung von TupelnReadonly-TupelMehrdimensionale typisierte ArraysSpread-Operator mit ArraysZusammenfassung: Arrays und TupelÜbe selbstständig: Online-JavaScript-Compiler