Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. JavaScript-Fehlerreferenz
  5. TypeError: ungültige Zuweisung zu const "x"

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

TypeError: ungültige Zuweisung zu const "x"

Die JavaScript-Ausnahme "ungültige Zuweisung zu const" tritt auf, wenn versucht wurde, einen Konstantenwert zu ändern. JavaScriptconstDeklarationen können nicht neu zugewiesen oder neu deklariert werden.

Nachricht

TypeError: Assignment to constant variable. (V8-based)TypeError: invalid assignment to const 'x' (Firefox)TypeError: Attempted to assign to readonly property. (Safari)

Fehlertyp

TypeError

Was ist schiefgelaufen?

Eine Konstante ist ein Wert, der während der normalen Ausführung des Programms nicht verändert werden kann. Siekann nicht durch Zuweisung geändert werden und kann nicht neu deklariert werden. In JavaScriptwerden Konstanten mit demconstSchlüsselwort deklariert.

Beispiele

Ungültige Neudeklaration

Die Zuweisung eines Wertes an denselben Konstantennamen im selben Blockscope wird einen Fehler auslösen.

js
const COLUMNS = 80;// …COLUMNS = 120; // TypeError: invalid assignment to const `COLUMNS'

Behebung des Fehlers

Es gibt mehrere Möglichkeiten, diesen Fehler zu beheben. Überprüfen Sie, was mit der betreffenden Konstanten erreicht werden sollte.

Umbenennen

Falls Sie vorhatten, eine andere Konstante zu deklarieren, wählen Sie einen anderen Namen und benennen Sie um. Dieser Konstantenname ist bereits in diesem Scope belegt.

js
const COLUMNS = 80;const WIDE_COLUMNS = 120;

const, let oder var?

Verwenden Sie const nicht, wenn Sie keine Konstante deklarieren wollten. Vielleicht wollten Sie eine block-skopierte Variable mitlet odereine globale Variable mitvar deklarieren.

js
let columns = 80;// …columns = 120;

Scoping

Überprüfen Sie, ob Sie sich im richtigen Scope befinden. Sollte diese Konstante in diesem Scope erscheinen, oder war sie für eine Funktion bestimmt?

js
const COLUMNS = 80;function setupBigScreenEnvironment() {  const COLUMNS = 120;}

const und Unveränderlichkeit

Dieconst Deklaration erstellt eine schreibgeschützte Referenz zu einem Wert. Es bedeutetnicht, dass der von ihr gehaltene Wert unveränderlich ist, sondern nur, dass der Variablenbezeichner nicht neu zugewiesen werden kann. Zum Beispiel, wenn der Inhalt ein Objekt ist, kann dieses Objekt selbst immer noch verändert werden. Das bedeutet, dass Sie den in einer Variablen gespeicherten Wert nicht ändern können:

js
const obj = { foo: "bar" };obj = { foo: "baz" }; // TypeError: invalid assignment to const `obj'

Aber Sie können die Eigenschaften in einer Variablen ändern:

js
obj.foo = "baz";obj; // { foo: "baz" }

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp