Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Die const-Deklaration deklariert block-skopierte lokale Variablen. Der Wert einer Konstante kann nicht durch Zuweisung mit dem Zuweisungsoperator geändert werden, aber wenn eine Konstante ein Objekt ist, können ihre Eigenschaften hinzugefügt, aktualisiert oder entfernt werden.
Der Name der zu deklarierenden Variablen. Jeder muss ein legaler JavaScript-Bezeichner oder ein Destructuring-Bindungsmuster sein.
valueNAnfangswert der Variablen. Es kann jeder legale Ausdruck sein.
Die const-Deklaration ist sehr ähnlich zu let:
const-Deklarationen sind auf Blöcke sowie auf Funktionen beschränkt.
const-Deklarationen können nur nach dem Erreichen des Deklarationsortes zugegriffen werden (siehe temporal dead zone). Aus diesem Grund werden const-Deklarationen häufig als nicht-hoisted angesehen.
const-Deklarationen erstellen keine Eigenschaften auf globalThis, wenn sie auf oberster Ebene eines Skripts deklariert werden.
const-Deklarationen können nicht durch eine andere Deklaration im selben Gültigkeitsbereich erneut deklariert werden.
const beginnen Deklarationen, nicht _Anweisungen. Das bedeutet, dass Sie keine alleinstehende const-Deklaration als Körper eines Blocks verwenden können (was sinnvoll ist, da es keine Möglichkeit gibt, auf die Variable zuzugreifen).
Ein Initialisierer für eine Konstante ist erforderlich. Sie müssen seinen Wert in derselben Deklaration angeben. (Das macht Sinn, da er später nicht geändert werden kann.)
Die const-Deklaration erstellt einen unveränderlichen Verweis auf einen Wert. Das bedeutet nicht, dass der von ihr gehaltene Wert unveränderlich ist – lediglich, dass der Variablenbezeichner nicht neu zugewiesen werden kann. Im Falle eines Objekts bedeutet dies beispielsweise, dass der Inhalt des Objekts (z.B. seine Eigenschaften) verändert werden kann. Sie sollten const-Deklarationen verstehen als "erstellen Sie eine Variable, deren Identität konstant bleibt", nicht "deren Wert konstant bleibt" — oder, "erstellen Sie unveränderliche Bindungen", nicht "unveränderliche Werte".
Viele Stilrichtlinien (einschließlich der MDN-Richtlinien) empfehlen die Verwendung von const anstelle von let, wann immer eine Variable in ihrem Gültigkeitsbereich nicht neu zugewiesen wird. Dies macht die Absicht deutlich, dass sich der Typ einer Variablen (oder der Wert, im Fall eines primitiven Werts) niemals ändern kann. Andere bevorzugen möglicherweise let für Nicht-Primitive, die mutiert werden.
Die Liste, die dem const-Schlüsselwort folgt, wird als Bindungsliste bezeichnet und ist durch Kommas getrennt, wobei die Kommas keine Komma-Operatoren sind und die =-Zeichen keine Zuweisungsoperatoren sind. Initialisierer von späteren Variablen können sich auf frühere Variablen in der Liste beziehen.
Konstanten können mit Groß- oder Kleinschreibung deklariert werden, aber eine häufige Konvention ist die Verwendung von reinen Großbuchstaben, insbesondere für primitive Werte, da diese wirklich unveränderlich sind.
Es ist wichtig, die Natur der Block-Skopierung zu beachten.
const funktioniert auch bei Objekten und Arrays. Ein Versuch, das Objekt zu überschreiben, wirft einen Fehler "Assignment to constant variable".
Jedoch sind Objekt-Schlüssel nicht geschützt, daher wird die folgende Anweisung ohne Probleme ausgeführt.
Sie müssten Object.freeze() verwenden, um ein Objekt unveränderlich zu machen.
Dasselbe gilt für Arrays. Die Zuweisung eines neuen Arrays zur Variable wirft einen Fehler "Assignment to constant variable".
Dennoch ist es möglich, Elemente in das Array zu schieben und es somit zu verändern.
Die linke Seite jedes = kann auch ein Bindungsmuster sein. Dies ermöglicht das Erstellen mehrerer Variablen auf einmal.
Für weitere Informationen siehe Destructuring.
| ECMAScript® 2027 Language Specification # sec-let-and-const-declarations |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.