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.

Konstanten

Bisher haben wir Variablen mit let deklariert. Solchen Variablen kann man beliebig oft einen neuen Wert zuweisen. Manchmal kommt es jedoch vor, dass eine Variable ihren Wert garnicht ändern soll. Eine solche Variable könnte man natürlich auch mit let deklarieren. Man muss dann aufpassen, dass man ihren Wert nicht aus Versehen ändert. Besser wäre es, wenn man ihren Wert erst garnicht ändern kann. Hier kommt const ins Spiel:
const MEHRWERTSTEUER = 19;
let netto = 100;
let steuer = netto * MEHRWERTSTEUER / 100;
console.log(steuer);

MEHRWERTSTEUER = 20; // Programmfehler!
netto = 200;
steuer = netto * MEHRWERTSTEUER / 100;
console.log(steuer);
Eine Deklaration mit const erzeugt eine Konstante. Eine Konstante funktioniert genauso wie eine mit let erzeugte Variable. Mit einem Unterschied: weist man einer Konstante einen neuen Wert zu, so kommt es zu einem Programmfehler. Führt man obigen Code im JS-Hero Playground aus, so wird korrekt 19 ausgegeben. Die nächste Steuer wird allerdings nicht ausgegeben. Stattdessen erhalten wir einen Fehler wie "invalid assignment to const 'MEHRWERTSTEUER'". In Zeile 6 haben wir der Konstanten MEHRWERTSTEUER den neuen Wert 20 zugeordnet. Das ist nicht erlaubt. Das Programm bricht an dieser Stelle mit dem genannten Fehler ab. Entfernt man diese Zeile, läuft das Programm korrekt durch.

Einer Konstante muss man direkt bei der Deklaration einen Wert zuweisen. Eine Konstante nur deklarieren und ihr später einen Wert zuzuweisein, ist nicht zulässig.
const HOUR_IN_SECONDS = 3600; // Korrekt!
const NUMBER_OF_WEEKDAYS; // Programmfehler!
NUMBER_OF_WEEKDAYS = 7;
Das Programm bricht in der zweiten Zeile mit einen Fehler wie "missing = in const declaration" ab.

Noch ein stylistischer Hinweis: Wir haben Konstanten mit Großbuchstaben geschrieben. Das ist keine Vorgabe. Wir hätten sie auch klein schreiben können. mehrwertsteuer geht genauso gut wie MEHRWERTSTEUER. Die Großschreibung hat jedoch den Vorteil, dass man Konstanten schon an ihrer Schreibweise erkennt.

Da man die Verwendung von Konstanten nicht gut testen kann, hier eine komplexere Aufgabe aus dem Bereich der Mathematik.

Aufgabe

Schreibe eine Funktion primes, die eine natürliche Zahl n entgegennimmt und ein Array aller Primzahlen kleiner gleich n zurückgibt.

Beispiel: primes(10) sollte [2, 3, 5, 7] zurückgeben.

loving