SyntaxError: "x" ist ein reservierter Bezeichner

Die JavaScript-Ausnahme "variable ist ein reservierter Bezeichner" tritt auf, wenn reservierte Schlüsselwörter als Bezeichner verwendet werden.

Nachricht

SyntaxError: Unexpected reserved word (V8-based)
SyntaxError: implements is a reserved identifier (Firefox)
SyntaxError: Cannot use the reserved word 'implements' as a variable name. (Safari)

Fehlertyp

Was ist schiefgelaufen?

Reservierte Schlüsselwörter werden einen Fehler auslösen, wenn sie als Bezeichner verwendet werden. Diese sind im strikten Modus und im nachlässigen Modus reserviert:

  • enum

Die folgenden sind nur reserviert, wenn sie im strikten Modus gefunden werden:

  • implements
  • interface
  • let
  • package
  • private
  • protected
  • public
  • static

Beispiele

Strikte und nicht-strikte reservierte Schlüsselwörter

Der Bezeichner enum ist generell reserviert.

js
const enum = { RED: 0, GREEN: 1, BLUE: 2 };
// SyntaxError: enum is a reserved identifier

Im strikten Modus sind mehr Bezeichner reserviert.

js
"use strict";
const package = ["potatoes", "rice", "fries"];
// SyntaxError: package is a reserved identifier

Sie müssen diese Variablen umbenennen.

js
const colorEnum = { RED: 0, GREEN: 1, BLUE: 2 };
const list = ["potatoes", "rice", "fries"];

Aktualisieren Sie ältere Browser

Wenn Sie einen älteren Browser verwenden, der noch nicht let oder class implementiert, sollten Sie auf eine aktuellere Browserversion aktualisieren, die diese neuen Sprachfunktionen unterstützt.

js
"use strict";
class DocArchiver {}

// SyntaxError: class is a reserved identifier
// (throws in older browsers only, e.g. Firefox 44 and older)

Siehe auch