Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
SyntaxError: 'arguments'/'eval' kann nicht definiert oder zugewiesen werden im Strict-Modus-Code
Die Ausnahme im JavaScript-Strict-Modus "'arguments' kann im Strict-Modus-Code nicht definiert oder zugewiesen werden" oder "'eval' kann im Strict-Modus-Code nicht definiert oder zugewiesen werden" tritt auf, wenn versucht wird, eineBindung mit dem Namenarguments odereval zu erstellen oder einem solchen Namen etwas zuzuweisen.
In diesem Artikel
Meldung
SyntaxError: Unexpected eval or arguments in strict mode (V8-based)SyntaxError: 'arguments' can't be defined or assigned to in strict mode code (Firefox)SyntaxError: Cannot modify 'arguments' in strict mode. (Safari)SyntaxError: Cannot destructure to a parameter name 'arguments' in strict mode. (Safari)SyntaxError: Cannot declare a variable named arguments in strict mode. (Safari)SyntaxError: Cannot declare a catch variable named 'arguments' in strict mode. (Safari)SyntaxError: 'arguments' is not a valid function name in strict mode. (Safari)
Fehlertyp
SyntaxErrorWas ist schiefgelaufen?
Im Strict-Modus verhalten sich die Namenarguments undeval als wären siereservierte Wörter: Sie können nicht auf etwas anderes als dasarguments-Objekt in Funktionen oder die globaleeval-Funktion verweisen.
Beispiele
>Ungültige Fälle
js
"use strict";const arguments = [1, 2, 3];console.log(Math.max(...arguments));function foo(...arguments) { console.log(arguments);}Gültige Fälle
js
"use strict";const args = [1, 2, 3];console.log(Math.max(...args));function foo(...args) { console.log(args);}