Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
SyntaxError: Getter-Funktionen dürfen keine Argumente haben
Der JavaScript-Ausnahmefehler "getter functions must have no arguments" tritt auf, wenn einGetter deklariert wird und die Parameterliste nicht leer ist.
In diesem Artikel
Meldung
SyntaxError: Getter must not have any formal parameters. (V8-based)SyntaxError: getter functions must have no arguments (Firefox)SyntaxError: Unexpected identifier 'x'. getter functions must have no parameters. (Safari)
Fehlertyp
SyntaxErrorWas ist schiefgelaufen?
Dieget-Eigenschaftssyntax sieht aus wie eine Funktion, ist jedoch strenger, und es ist nicht die gesamte Funktionssyntax erlaubt. Ein Getter wird immer ohne Argumente aufgerufen, daher ist es wahrscheinlich ein Fehler, ihn mit einem beliebigen Parameter zu definieren.
Beachten Sie, dass dieser Fehler nur für Eigenschafts-Getter gilt, die dieget-Syntax verwenden. Wenn Sie den Getter mitObject.defineProperty() usw. definieren, wird der Getter als normale Funktion definiert. Es ist jedoch wahrscheinlich immer noch ein Fehler, wenn der Getter Argumente erwartet, da er ohne Argumente aufgerufen wird.
Beispiele
>Ungültige Fälle
const obj = { get value(type) { return type === "string" ? String(Math.random()) : Math.random(); },};Gültige Fälle
// Remove the parameterconst obj = { get value() { return Math.random(); },};// Use a normal method, if you need a parameterconst obj = { getValue(type) { return type === "string" ? String(Math.random()) : Math.random(); },};