2.2 KiB
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
587d7b87367417b2b2512b43 | Verwende Pfeilfunktionen, um präzise anonyme Funktionen zu schreiben | 1 | 301211 | use-arrow-functions-to-write-concise-anonymous-functions |
--description--
In JavaScript brauchen wir unsere Funktionen oft nicht zu benennen, vor allem wenn wir eine Funktion als Argument an eine andere Funktion übergeben. Stattdessen erstellen wir Inline-Funktionen. Wir brauchen diese Funktionen nicht zu benennen, weil wir sie nirgendwo anders wiederverwenden.
Um dies zu erreichen, verwenden wir oft die folgende Syntax:
const myFunc = function() {
const myVar = "value";
return myVar;
}
ES6 bietet uns den syntaktischen Zucker, um anonyme Funktionen nicht auf diese Weise schreiben zu müssen. Stattdessen kannst du die Pfeilfunktionssyntax verwenden:
const myFunc = () => {
const myVar = "value";
return myVar;
}
Wenn es keinen Funktionsrumpf gibt, sondern nur einen Rückgabewert, kannst du mit der Pfeilfunktionssyntax das Schlüsselwort return
sowie die Klammern, die den Code umgeben, weglassen. Dies hilft, kleinere Funktionen in einzeilige Anweisungen zu vereinfachen:
const myFunc = () => "value";
Dieser Code gibt standardmäßig immer noch den String value
zurück.
--instructions--
Schreibe die Funktion, die der Variablen magic
zugewiesen ist und ein new Date()
zurückgibt, so um, dass sie die Syntax der Pfeilfunktion verwendet. Stelle außerdem sicher, dass nichts mit dem Schlüsselwort var
definiert ist.
--hints--
Du solltest das Schlüsselwort var
ersetzen.
assert.notMatch(code, /var/g)
magic
sollte eine konstante Variable sein (indem du const
benutzt).
assert.match(code, /const\s+magic/g)
magic
sollte eine Funktion (function
) sein.
assert(typeof magic === 'function');
magic()
sollte das richtige Datum zurückgeben.
assert(magic().setHours(0, 0, 0, 0) === new Date().setHours(0, 0, 0, 0));
Das Schlüsselwort function
sollte nicht verwendet werden.
assert.notMatch(code, /function/g)
--seed--
--seed-contents--
var magic = function() {
return new Date();
};
--solutions--
const magic = () => {
return new Date();
};