Avatar ·

Wofür wird das Fragezeichen in den Parametern von TypeScript-Funktionen verwendet?

Hallo zusammen! Ich habe kürzlich angefangen, TypeScript zu lernen, und bin auf eine seltsame Konstruktion in Funktionsparametern gestoßen. Ich sehe, dass manchmal vor dem Doppelpunkt und dem Parametertyp ein Fragezeichen gesetzt wird. Zum Beispiel: ```typescript function greet(name?: string) { return `Hallo, ${name || 'Gast'}!`; } ``` Ich verstehe, dass `: string` bedeutet, dass der Parameter ein String sein muss. Aber was macht das `?` davor? Ich habe versucht, die Funktion mit und ohne Parameter aufzurufen – es funktioniert scheinbar beides. Aber wenn ich das Fragezeichen entferne, beschwert sich TypeScript, wenn ich `greet()` ohne Argument aufrufe. Was genau bedeutet dieses Fragezeichen? Ist das eine Besonderheit von JavaScript oder nur von TypeScript? Und gibt es einen Unterschied zwischen `name?: string` und `name: string | undefined`? Ich wäre dankbar für eine detaillierte Erklärung mit Beispielen, weil die Dokumentation kompliziert geschrieben ist und ich in der Praxis verstehen möchte, wie man es richtig verwendet. Vielen Dank im Voraus! <<>>

Was bedeutet das Fragezeichen im Parameter