TypeScript - Standardparameter
Hallo da draußen, zukünftige Codingsuperstars! Heute tauchen wir in die wunderbare Welt von TypeScript ein und erkunden eine Funktion, die Ihr Leben als Programmierer viel einfacher machen wird: Standardparameter. Bis zum Ende dieser Lektion werdet ihr dieses mächtige Werkzeug wie ein Profi einsetzen können. Also, los geht's!
Was sind Standardparameter?
Stellen Sie sich vor, Sie sind ein Koch (haben Sie Geduld, wir kommen gleich zum Coden!). Jeden Tag kochen Sie eine köstliche Suppe. Die meiste Zeit geben Sie Salz in Ihre Suppe. Aber manchmal bittet ein Kunde um keine Salz. Wär es nicht großartig, wenn Sie ein Rezept haben könnten, das automatisch Salz enthält, es sei denn, es wird anders angegeben? Genau das machen Standardparameter in der Programmierung!
In TypeScript ermöglichen Standardparameter das Festlegen eines Standardwerts für einen Funktionsparameter. Wenn die Funktion ohne Angabe eines Wertes für diesen Parameter aufgerufen wird, wird der Standardwert verwendet.
Sehen wir uns ein einfaches Beispiel an:
function greet(name: string = "World") {
console.log(`Hello, ${name}!`);
}
greet(); // Ausgabe: Hello, World!
greet("Alice"); // Ausgabe: Hello, Alice!
In diesem Beispiel ist "World"
der Standardparameter für name
. Wenn wir greet()
ohne Argumente aufrufen, verwendet es "World" als Standard. Aber wenn wir einen Namen wie "Alice" angeben, verwendet es diesen stattdessen.
Warum Standardparameter verwenden?
- Flexibilität: Sie machen Ihre Funktionen flexibler, indem sie mit oder ohne bestimmte Argumente arbeiten können.
- Sauberer Code: Sie reduzieren die Notwendigkeit von bedingten Ausdrücken in Ihrer Funktion, um zu überprüfen, ob ein Parameter übergeben wurde.
- Verbesserte Lesbarkeit: Standardparameter machen es klar, welche "normalen" Werte für eine Funktion erwartet werden.
Wie man Standardparameter verwendet
Lassen Sie uns mit mehr Beispielen tiefer einsteigen:
Grundlegende Verwendung
function calculateArea(width: number = 10, height: number = 5) {
return width * height;
}
console.log(calculateArea()); // Ausgabe: 50
console.log(calculateArea(20)); // Ausgabe: 100
console.log(calculateArea(7, 3)); // Ausgabe: 21
In diesem Beispiel haben sowohl width
als auch height
Standardwerte. Wir können die Funktion ohne Argumente, mit einem Argument (das für width
verwendet wird) oder mit beiden Argumenten aufrufen.
Verwendung von Ausdrücken als Standardwerte
Standardparameter können Ausdrücke sein, nicht nur einfache Werte:
function getRandomGreeting(name: string = "friend", time: Date = new Date()) {
const greetings = ["Hello", "Hi", "Hey", "Howdy"];
const randomGreeting = greetings[Math.floor(Math.random() * greetings.length)];
return `${randomGreeting}, ${name}! It's ${time.toLocaleTimeString()} now.`;
}
console.log(getRandomGreeting()); // Ausgabe: z.B., "Hey, friend! It's 3:45:30 PM now."
console.log(getRandomGreeting("Alice")); // Ausgabe: z.B., "Hello, Alice! It's 3:45:35 PM now."
Hier verwenden wir new Date()
als Standardwert für time
, was uns die aktuelle Datum und Uhrzeit gibt, wenn die Funktion aufgerufen wird.
Standardparameter mit anderen Typen
Standardparameter funktionieren mit allen Typen in TypeScript:
function createUser(
name: string = "Anonymous",
age: number = 0,
isAdmin: boolean = false,
hobbies: string[] = []
) {
return { name, age, isAdmin, hobbies };
}
console.log(createUser());
// Ausgabe: { name: "Anonymous", age: 0, isAdmin: false, hobbies: [] }
console.log(createUser("Alice", 30, true, ["reading", "coding"]));
// Ausgabe: { name: "Alice", age: 30, isAdmin: true, hobbies: ["reading", "coding"] }
Dieses Beispiel zeigt, wie Standardparameter mit verschiedenen Typen, einschließlich Arrays und Booleans, verwendet werden können.
Optionalparameter vs. Standardparameter
Nun könnte man sich denken: "Warten Sie mal! Ich habe von optionalen Parametern gehört. Wie unterscheiden sie sich von Standardparametern?" Tolle Frage! Lassen Sie uns es aufschlüsseln:
Optionalparameter
Optionale Parameter werden mit einem ?
markiert und erlauben es Ihnen, eine Funktion ohne Wert für diesen Parameter aufzurufen.
function greetOptional(name?: string) {
if (name) {
console.log(`Hello, ${name}!`);
} else {
console.log("Hello, stranger!");
}
}
greetOptional(); // Ausgabe: Hello, stranger!
greetOptional("Bob"); // Ausgabe: Hello, Bob!
Standardparameter
Standardparameter bieten einen Standardwert, der verwendet wird, wenn kein Argument übergeben wird.
function greetDefault(name: string = "stranger") {
console.log(`Hello, ${name}!`);
}
greetDefault(); // Ausgabe: Hello, stranger!
greetDefault("Bob"); // Ausgabe: Hello, Bob!
Wesentliche Unterschiede
Feature | Optionalparameter | Standardparameter |
---|---|---|
Syntax | Verwendet ? nach Parametername |
Verwendet = value nach Parametertyp |
Wenn kein Argument übergeben wird | Parameter ist undefined
|
Parameter verwendet den Standardwert |
Bedarf an Nullprüfungen | Oft szüksige Prüfung im Funktionskörper | Keine zusätzlichen Prüfungen erforderlich |
Klarheit des.Intent | Weniger klar, was passiert, wenn Parameter weggelassen wird | Zeigt klar das Standardverhalten |
Im Allgemeinen sind Standardparameter oft bequemer und führen zu sauberem Code, da sie die Notwendigkeit von Nullprüfungen im Funktionskörper entfernen.
Best Practices für die Verwendung von Standardparametern
- Verwenden Sie sinvolle Standards: Wählen Sie Standardwerte, die für die meisten Verwendungsfälle Ihrer Funktion sentido machen.
- Dokumentieren Sie Ihre Standards: Auch wenn der Standard im Code steht, ist es gute Praxis, ihn in der Dokumentation Ihrer Funktion zu erwähnen.
- Seien Sie vorsichtig mit veränderbaren Standards: Vermeiden Sie die Verwendung veränderbarer Objekte als Standardparameter, da dies zu unerwartetem Verhalten führen kann.
-
Bedienen Sie
undefined
: Denken Sie daran, dassundefined
den Standardwert auslöst, abernull
nicht.
function exampleBestPractices(
requiredParam: string,
optionalParam: string = "default value",
anotherOptional: number = 42
) {
// Funktionskörper
}
Fazit
Und da habt ihr es, Leute! Ihr habt gerade eure TypeScript-Fähigkeiten durch das Beherrschen von Standardparametern aufgestockt. Denkt daran, dass Standardparameter am stärksten sind, wenn sie maßvoll eingesetzt werden. Sie können Ihren Code robuster, lesbarer und flexibler machen.
Bei eurer weiteren Codereise werdet ihr viele Gelegenheiten finden, Standardparameter zu verwenden. Vielleicht erstellt ihr eine Funktion zur Berechnung von Versandkosten mit einer Standardversandmethode oder eine Funktion zur Formatierung von Daten mit einem Standardformatstring. Die Möglichkeiten sind endlos!
Weiter üben, weiter coden und vor allem: Spaß mit TypeScript haben. Bis zum nächsten Mal, fröhliches Coden!
Credits: Image by storyset