SyntaxError: "x" ist ein reservierter Bezeichner
Der JavaScript-Ausnahmefehler "variable ist ein reservierter Bezeichner" tritt auf, wenn reservierte Schlüsselwörter als Bezeichner verwendet werden.
Meldung
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 führen zu einem Fehler, wenn sie als Bezeichner verwendet werden. Diese sind sowohl im strikten Modus als auch im "sloppy" Modus reserviert:
enum
Die folgenden sind nur im strikten Modus reserviert:
implements
interface
let
package
private
protected
public
static
Beispiele
Strikte und nicht-strikte reservierte Schlüsselwörter
Der Bezeichner enum
ist generell reserviert.
const enum = { RED: 0, GREEN: 1, BLUE: 2 };
// SyntaxError: enum is a reserved identifier
Im strikten Modus sind mehr Bezeichner reserviert.
"use strict";
const package = ["potatoes", "rice", "fries"];
// SyntaxError: package is a reserved identifier
Sie müssen diese Variablen umbenennen.
const colorEnum = { RED: 0, GREEN: 1, BLUE: 2 };
const list = ["potatoes", "rice", "fries"];
Ältere Browser aktualisieren
Wenn Sie einen älteren Browser verwenden, der noch nicht let
oder class
implementiert, sollten Sie auf eine neuere Browserversion aktualisieren, die diese neuen Sprachfeatures unterstützt.
"use strict";
class DocArchiver {}
// SyntaxError: class is a reserved identifier
// (throws in older browsers only, e.g. Firefox 44 and older)