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.
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"];
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.
"use strict";
class DocArchiver {}
// SyntaxError: class is a reserved identifier
// (throws in older browsers only, e.g. Firefox 44 and older)