First-class Function
In einer Programmiersprache gibt es First-class functions, wenn Funktionen in dieser Sprache wie jede andere Variable behandelt werden. In einer solchen Sprache kann eine Funktion beispielsweise als Argument an andere Funktionen übergeben, von einer anderen Funktion zurückgegeben oder als Wert einer Variable zugewiesen werden.
Beispiele
Zuweisung einer Funktion zu einer Variablen
const foo = () => {
console.log("foobar");
};
foo(); // Invoke it using the variable
// foobar
Wir haben eine Anonyme Funktion einer Variablen zugewiesen und dann diese Variable verwendet, um die Funktion durch das Hinzufügen von Klammern ()
am Ende aufzurufen.
Hinweis: Selbst wenn Ihre Funktion benannt ist, können Sie den Variablennamen verwenden, um sie aufzurufen. Eine Benennung ist hilfreich beim Debuggen Ihres Codes. Aber es beeinflusst nicht die Art und Weise, wie wir sie aufrufen.
Übergeben einer Funktion als Argument
function sayHello() {
return "Hello, ";
}
function greeting(helloMessage, name) {
console.log(helloMessage() + name);
}
// Pass `sayHello` as an argument to `greeting` function
greeting(sayHello, "JavaScript!");
// Hello, JavaScript!
Wir übergeben unsere sayHello()
-Funktion als Argument an die greeting()
-Funktion. Dies zeigt, wie wir die Funktion als Wert behandeln.
Hinweis:
Die Funktion, die wir als Argument an eine andere Funktion übergeben, wird als Callback-Funktion bezeichnet. sayHello()
ist eine Callback-Funktion.
Eine Funktion zurückgeben
function sayHello() {
return () => {
console.log("Hello!");
};
}
In diesem Beispiel geben wir eine Funktion von einer anderen Funktion zurück - Wir können eine Funktion zurückgeben, weil Funktionen in JavaScript als Werte behandelt werden.
Hinweis: Eine Funktion, die eine Funktion zurückgibt oder andere Funktionen als Argumente entgegennimmt, wird als höherwertige Funktion bezeichnet.
Siehe auch
- First-class functions auf Wikipedia
- Verwandte Glossareinträge: