Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
SyntaxError: Setterfunktionen müssen ein Argument haben
Der JavaScript-Ausnahmefehler "setter functions must have one argument" tritt auf, wenn einSetter deklariert wird und die Parameterliste nicht genau ein formales Parameter enthält.
In diesem Artikel
Nachricht
SyntaxError: Setter must have exactly one formal parameter. (V8-based)SyntaxError: Setter function argument must not be a rest parameter (V8-based)SyntaxError: setter functions must have one argument (Firefox)SyntaxError: Unexpected token ','. setter functions must have one parameter. (Safari)SyntaxError: Unexpected token '...'. Expected a parameter pattern or a ')' in parameter list. (Safari)
Fehlerart
SyntaxErrorWas ist schiefgelaufen?
Dieset-Eigenschaftssyntax sieht aus wie eine Funktion, ist aber strenger, und nicht alle Funktionssyntax ist erlaubt. Ein Setter wird immer mit genau einem Argument aufgerufen, daher ist es wahrscheinlich ein Fehler, ihn mit einer anderen Anzahl von Parametern zu definieren. Dieser Parameter kanndestrukturiert werden oder einenStandardwert haben, aber er kann keinRestparameter sein.
Beachten Sie, dass dieser Fehler nur für Property-Setter gilt, die dieset-Syntax verwenden. Wenn Sie den Setter mitObject.defineProperty() usw. definieren, wird der Setter als normale Funktion definiert, obwohl es wahrscheinlich immer noch ein Fehler ist, wenn der Setter eine andere Anzahl von Argumenten erwartet, da er mit genau einem Argument aufgerufen wird.
Beispiele
>Ungültige Fälle
const obj = { set value() { this._value = Math.random(); },};Gültige Fälle
// You must declare one parameter, even if you don't use itconst obj = { set value(_ignored) { this._value = Math.random(); },};// You can also declare a normal method insteadconst obj = { setValue() { this._value = Math.random(); },};