Der Browser-Speicher localStorage ist nicht verfügbar. Entweder unterstützt dein Browser ihn nicht oder du hast ihn deaktiviert oder er ist voll. Ohne localStorage werden deine Lösungen nicht gespeichert.

Pfeilfunktionen

Pfeilfunktionen (engl.: arrow functions) bieten verschiedene Möglichkeiten, Funktionsausdrücke noch kürzer zu schreiben. Zunächst kann function durch einen Pfeil ersetzt werden:
const f1 = function(a, b) {
  const offset = 100;
  return a + b + offset;
};

const f2 = (a, b) => {
  const offset = 100;
  return a + b + offset;
};
Die beiden Funktionen f1 und f2 sind funktional identisch. f1 wird ein anonymer Funktionsausdruck zugeordnet, f2 eine Pfeilfunktion.

Kann man den return-Wert direkt mit einem Ausdruck bestimmen, so kann man das return zusammen mit den Funktionsklammern weglassen:
const f3 = function(a, b) {
  return a * b * 100;
};

const f4 = (a, b) => a * b * 100;
f3 und f4 sind wieder funktional identisch.

Besitzt die Funktion nur einen Parameter, so ergibt sich eine weitere Vereinfachung. In diesem Fall kann man die Parameter-Klammer weglassen:
const f5 = function(a) {
  return a * a;
};

const f6 = a => a * a;
Pfeilfunktionen werden, wie wir später sehen, hauptsächlich in der funktionalen Programmierung verwendet.

Da man die Verwendung von Pfeilfunktionen nur schwer testen kann, hier eine anspruchsvolle Aufgabe aus dem Gebiet der Mathematik:

Aufgabe

Schreibe eine Funktion toDecimal, die einen String mit einer Binärzahl entgegennimmt und diese als Dezimalzahl zurückgibt.

Beispiel: toDecimal("10") sollte 2 und toDecimal("101") sollte 5 ergeben.

loving