Читать книгу Angular - Ferdinand Malcher - Страница 60
Konstanten mit const
ОглавлениеVariablen, die mit var oder let eingeleitet werden, lassen sich jederzeit überschreiben. Häufig ändert sich der Wert einer Variable allerdings nach der Initialisierung nicht mehr. Für solche Fälle gibt es Konstanten. Sie werden mit dem Schlüsselwort const eingeleitet. Wird eine Konstante einmal festgelegt, so lässt sich der Wert nicht mehr überschreiben. Konstanten müssen deshalb auch immer sofort mit einem Wert initialisiert werden:
const foo = 'angular';
// TypeError: Assignment to constant variable.
foo = 'javascript';
// SyntaxError: Missing initializer in const declaration
const bar;
Vorsicht ist allerdings geboten bei Variablen, die ein Objekt oder Array enthalten. Objekte und Arrays werden in JavaScript nur anhand ihrer Speicherreferenz identifiziert. Das bedeutet, dass eine const-Variable nur die Referenz auf das Objekt konstant speichert, wir den Inhalt aber trotzdem verändern können. Der folgende Code ist gültig:
const myObject = { title: 'Angular', year: 2016 };
myObject.year = 2020;
const myArray = [1, 2, 3];
myArray.push(4);
Um gut wartbaren Code zu erhalten, sollten Sie vermeiden, direkt den Wert eines Objekts zu verändern. Ein saubererer Weg ist es, ein Objekt oder Array als unveränderlich (engl. immutable) zu behandeln und bei einer Änderung immer eine Kopie zu erzeugen. Darauf gehen wir gleich im Kontext des Spread-Operators genauer ein.