Thanks to visit codestin.com
Credit goes to developer.mozilla.org

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

View in English Always switch to English

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, eine Bindung mit dem Namen arguments oder eval zu erstellen oder einem solchen Namen etwas zuzuweisen.

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

SyntaxError

Was ist schiefgelaufen?

Im Strict-Modus verhalten sich die Namen arguments und eval als wären sie reservierte Wörter: Sie können nicht auf etwas anderes als das arguments-Objekt in Funktionen oder die globale eval-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);
}

Siehe auch