JavaScript - Standardparameter

Hallo那里,未来的JavaScript巫师们!今天,我们将要探索JavaScript中默认参数的神奇世界。作为你友好邻里的计算机老师,我很兴奋能引导你们进行这次旅行。所以,拿起你们的虚拟魔杖(键盘),让我们施展一些代码魔法!

JavaScript - Default Parameters

Standardparameter Syntax

在JavaScript的古老时代(ES6之前),为函数参数设置默认值就像试图教一只猫去取回东西一样 - 可能,但并不优雅。我们必须使用这样的技巧:

function gruß(name) {
name = name || 'Anonymous';
console.log('Hallo, ' + name + '!');
}

但现在,有了ES6及以后的版本,我们有了更优雅的方法:

function gruß(name = 'Anonymous') {
console.log(`Hallo, ${name}!`);
}

gruß(); // Ausgabe: Hallo, Anonymous!
gruß('Alice'); // Ausgabe: Hallo, Alice!

In diesem Beispiel verwenden wir den Standardwert 'Anonymous', wenn wir kein Argument an gruß() übergeben. Es ist wie ein höflicher Portier, der eine generelle Begrüßung verwendet, wenn er deinen Namen nicht kennt!

Übergabe eines Ausdrucks als Standardparameterwert

Standardparameter sind nicht auf einfache Werte beschränkt. Sie können auch Ausdrücke sein! Sehen wir uns ein Beispiel an:

function berechneFläche(länge, breite = länge) {
return länge * breite;
}

console.log(berechneFläche(5)); // Ausgabe: 25
console.log(berechneFläche(5, 3)); // Ausgabe: 15

Hier wird die Länge verwendet, wenn wir keine Breite angeben. Es ist wie ein fauler Quadratmacher - wenn du ihm nur eine Seite gibst, gått er davon aus, dass du ein Quadrat willst!

Wir können es noch schicker machen:

function getRandomGreeting(name, begrüßung = `Hallo, ${name}! Die Glückszahl ist ${Math.floor(Math.random() * 100)}.`) {
console.log(begrüßung);
}

getRandomGreeting('Bob'); // Ausgabe: Hallo, Bob! Die Glückszahl ist 42. (oder eine andere zufällige Zahl)

Diese Funktion generiert jedes Mal eine zufällige Glückszahl, wenn sie ohne eine benutzerdefinierte Begrüßung aufgerufen wird. Es ist wie ein Glückskeks, aber freundlicher!

Übergabe eines Undefined Arguments

Hier ist ein merkwürdiges Verhalten, das man im Auge behalten sollte:

function showMessage(nachricht = 'Standardnachricht') {
console.log(nachricht);
}

showMessage(undefined); // Ausgabe: Standardnachricht
showMessage(null); // Ausgabe: null

Das Übergeben von undefined ist das gleiche wie das Nicht-Übergeben von etwas,also löst es den Standard aus. Aber null wird als gültiger Wert betrachtet,also überschreibt er den Standard. Es ist, als würde undefined sagen "Ich weiß es nicht, du entscheidest," während null sagt "Ich habe eine Entscheidung getroffen, und meine Entscheidung ist nichts!"

Funktion als Standardparameter

Wir können sogar Funktionsausdrücke als Standardparameter verwenden. Schaut euch das an:

function gruß(name, getGreeting = () => 'Hallo') {
console.log(`${getGreeting()} ${name}!`);
}

gruß('Alice'); // Ausgabe: Hallo Alice!
gruß('Bob', () => 'Hi there'); // Ausgabe: Hi there Bob!

Dies ermöglicht es uns, nicht nur den Wert, sondern auch das Verhalten unseres Standardparameters anzupassen. Es ist wie ein anpassbarer Grußroboter!

Funktionale Optionalparameter

Nun, lassen Sie uns über optionale Parameter sprechen. In JavaScript sind alle Parameter standardmäßig optional. Wenn du sie nicht übermittelst, werden sie zu undefined. Aber mit Standardparametern können wir ihnen Ausfallwerte geben:

function createUser(name, age, country = 'Unbekannt') {
return {
name: name,
age: age,
country: country
};
}

console.log(createUser('Alice', 30)); // Ausgabe: { name: 'Alice', age: 30, country: 'Unbekannt' }
console.log(createUser('Bob', 25, 'USA')); // Ausgabe: { name: 'Bob', age: 25, country: 'USA' }

Auf diese Weise können wir einige Parameter obligatorisch (wie Name und Alter) und andere optional (wie Land) machen. Es ist wie das Ausfüllen eines Formulars, bei dem einige Felder mit einem roten Stern markiert sind und andere nur nett zu haben sind!

Hier ist eine Tabelle, die die von uns besprochenen Methoden zusammenfasst:

Methode Beschreibung Beispiel
Basic Standardparameter Bietet einen Ausfallwert, wenn kein Argument übergeben wird function gruß(name = 'Anonymous')
Ausdruck als Standard Verwendet einen Ausdruck, um den Standardwert zu berechnen function berechneFläche(länge, breite = länge)
Undefined-Verhalten undefined löst den Standard aus, null nicht showMessage(undefined) vs showMessage(null)
Funktion als Standard Verwendet eine Funktion, um den Standardwert zu berechnen function gruß(name, getGreeting = () => 'Hallo')
Optional Parameters Macht einige Parameter optional mit Standards function createUser(name, age, country = 'Unbekannt')

Denkt daran, junge Padawan, dass Standardparameter wie Sicherheitsnetze in eurem Code sind. Sie fangen euch, wenn ihr fallt (oder vergessen, ein Argument zu übergeben), und stellen sicher, dass eure Funktionen immer etwas zum Arbeiten haben. Verwendet sie weise, und möge der Code mit euch sein!

Credits: Image by storyset