4.1 Funktionsparameter
Funktionsparameter in JavaScript ermöglichen es, Werte an Funktionen zur Bearbeitung zu übergeben. Das macht Funktionen flexibler und anpassungsfähiger. In diesem Thema werden wir die grundlegenden Aspekte der Arbeit mit Funktionsparametern in JavaScript betrachten, ohne Standard- und Restparameter einzuschließen.
Parameter werden in Klammern nach dem Funktionsnamen angegeben. Beim Aufruf der Funktion werden die Werte dieser Parameter in die entsprechenden Variablen innerhalb der Funktion übertragen.
Beispiel:
In der Funktion greet()
sind zwei Parameter definiert: name
und age
. Beim Aufruf der Funktion werden die Werte Alice
und 30
an diese Parameter übergeben.
function greet(name, age) {
return `Hello, ${name}! You are ${age} years old.`;
}
console.log(greet('Alice', 30)); // "Hello, Alice! You are 30 years old."
Verarbeitung undefinierter Parameter
Wenn ein Parameter beim Aufruf der Funktion nicht übergeben wird, ist sein Wert undefined
. Das kann zu Fehlern führen, wenn mit einem solchen Parameter Operationen ausgeführt werden, die undefined
nicht unterstützen.
Beispiel:
In der Funktion greet()
wird überprüft, ob der Parameter name
übergeben wurde. Wenn nicht, wird der String Guest
verwendet.
function greet(name) {
if (name === undefined) {
return 'Hello, Guest!';
}
return `Hello, ${name}!`;
}
console.log(greet()); // "Hello, Guest!"
console.log(greet('Bob')); // "Hello, Bob!"
4.2 Standardparameter
Standardparameter ermöglichen es, Werte festzulegen, die verwendet werden, wenn kein Argument beim Aufruf der Funktion übergeben wird oder es als undefined
übergeben wird. Das ist besonders nützlich für die Erstellung von Funktionen mit optionalen Parametern.
Syntax:
function name (arg1 = value1, arg2 = value2) {
// function body
}
Beispiel 1: Einfache Funktion mit Standardparametern
In diesem Beispiel hat die Funktion greet()
den Parameter name mit dem Standardwert Guest
. Wenn kein Argument übergeben wird, wird der Standardwert verwendet.
function greet(name = 'Guest') {
return `Hello, ${name}!`;
}
console.log(greet('Alice')); // Zeigt: Hello, Alice!
console.log(greet()); // Zeigt: Hello, Guest!
Beispiel 2: Standardparameter mit Ausdrücken
In diesem Beispiel wird der Standardparameter tax
als 20% von price
berechnet, wenn kein anderes Argument übergeben wurde.
function calculatePrice(price, tax = price * 0.2) {
return price + tax;
}
console.log(calculatePrice(100)); // Zeigt: 120
console.log(calculatePrice(100, 15)); // Zeigt: 115
Beispiel 3: Standardparameter abhängig von anderen Parametern
In diesem Beispiel ermöglichen Standardparameter die Erstellung eines Benutzers mit vordefinierten Rollen und Status.
function createUser(name, role = 'user', isActive = true) {
return { name, role, isActive };
}
console.log(createUser('Alice')); // Zeigt: { name: 'Alice', role: 'user', isActive: true }
console.log(createUser('Bob', 'admin')); // Zeigt: { name: 'Bob', role: 'admin', isActive: true }
console.log(createUser('Charlie', 'moderator', false)); // Zeigt: { name: 'Charlie', role: 'moderator', isActive: false }
4.3 Restparameter
Restparameter erlauben es einer Funktion, eine beliebige Anzahl von Argumenten anzunehmen und sie in ein Array zu sammeln. Das ist nützlich für die Erstellung von Funktionen, die mit einer beliebigen Anzahl von Argumenten arbeiten können.
Syntax:
function name (arg1, arg2, ...argArray) {
// function body
}
Beispiel 1: Summierung aller übergebenen Argumente
In diesem Beispiel verwendet die Funktion sumAll()
Restparameter, um alle übergebenen Argumente zu summieren.
function sumAll(...numbers) {
return numbers.reduce((sum, num) => sum + num, 0);
}
console.log(sumAll(1, 2, 3)); // Zeigt: 6
console.log(sumAll(4, 5, 6, 7, 8)); // Zeigt: 30
Beispiel 2: Funktion mit festen und Restparametern
In diesem Beispiel nimmt die Funktion showItems()
einen festen Parameter firstItem
und eine unbestimmte Anzahl weiterer Argumente, die in einem Array otherItems
gesammelt werden.
function showItems(firstItem, ...otherItems) {
console.log(`Erstes Element: ${firstItem}`);
console.log(`Andere Elemente: ${otherItems.join(', ')}`);
}
showItems('apple', 'banana', 'cherry', 'date');
// Zeigt:
// Erstes Element: apple
// Andere Elemente: banana, cherry, date
Beispiel 3: Funktion mit dynamischen Argumenten
In diesem Beispiel nimmt die Funktion createMessage()
das erste Argument messageType
und sammelt alle anderen Parameter in einem Array messages
, um eine Nachricht zu erstellen.
function createMessage(messageType, ...messages) {
return `[${messageType.toUpperCase()}]: ${messages.join(' ')}`;
}
console.log(createMessage('info', 'This', 'is', 'an', 'informational', 'message'));
// Zeigt: [INFO]: This is an informational message
console.log(createMessage('error', 'An', 'error', 'occurred'));
// Zeigt: [ERROR]: An error occurred
GO TO FULL VERSION