First-class function
Eine Programmiersprache wird als First-class Funktionen besitzend beschrieben, wenn Funktionen in dieser Sprache wie jede andere Variable behandelt werden. Beispielsweise kann in einer solchen Sprache eine Funktion als Argument an andere Funktionen übergeben, von einer anderen Funktion zurückgegeben und als Wert einer Variablen zugewiesen werden.
Beispiele
Zuordnen 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 Hinzufügen von Klammern ()
am Ende aufzurufen.
Hinweis: Selbst wenn Ihre Funktion benannt wurde, können Sie den Variablennamen verwenden, um sie aufzurufen. Die Benennung ist beim Debuggen Ihres Codes hilfreich. Aber sie beeinflusst nicht, 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, was erklärt, 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.
Zurückgeben einer Funktion
function sayHello() {
return () => {
console.log("Hello!");
};
}
In diesem Beispiel geben wir eine Funktion aus 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 nimmt, wird als höherwertige Funktion bezeichnet.
Siehe auch
- First-class functions auf Wikipedia
- Verwandte Glossarbegriffe: