Standardwerte für Parameter
Was passiert, wenn du eine Funktion mit weniger Argumenten aufrufst, als sie Parameter hat? Probieren wir es aus:
function bestelleKaffee(sorte, groesse) {
console.log(`${sorte}, Größe: ${groesse}`);
}
bestelleKaffee("Latte", "groß");
bestelleKaffee("Espresso");Das gibt aus:
Latte, Größe: groß
Espresso, Größe: undefinedEs gibt keinen Fehler. Der Parameter groesse hat einfach keinen Wert bekommen, also ist er undefined, der besondere Wert, der „hier ist nichts“ bedeutet und den du von Arrays kennst.
Oft gibt es einen Wert, der meistens passt, und wir wollen nur hin und wieder einen anderen übergeben. Die meisten Leute bestellen zum Beispiel einen mittelgroßen Kaffee. Für solche Fälle kann ein Parameter einen Standardwert haben: Schreibe hinter den Namen des Parameters ein = und den Wert:
function bestelleKaffee(sorte, groesse = "mittel") {
console.log(`${sorte}, Größe: ${groesse}`);
}
bestelleKaffee("Latte", "groß");
bestelleKaffee("Espresso");Das gibt aus:
Latte, Größe: groß
Espresso, Größe: mittelWenn der Aufruf ein Argument für groesse übergibt, benutzt die Funktion es. Wenn nicht, benutzt die Funktion den Standardwert "mittel".
Weil die Argumente der Reihe nach in die Parameter gehen, stehen Parameter mit Standardwerten am Ende. Dann kannst du die letzten Argumente weglassen, und die, die du übergibst, landen trotzdem in den richtigen Parametern.
So schreibst du es:
Anweisungen
- 1
Unser Shop zeigt die meisten Preise in Euro an. Füge am Ende des Programms den Aufruf
gibPreisAus(25);ohne Währung hinzu. Was steht in der letzten Zeile? - 2
Gib dem Parameter
waehrungden Standardwert"EUR". Die letzte Zeile lautet dannPreis: 25 EUR, und die anderen beiden Aufrufe geben weiterhin ihre eigenen Währungen aus.