SyntaxError: Getter und Setter für privaten Namen #x sollten entweder beide statisch oder nicht statisch sein
Die JavaScript-Ausnahme "mismatched placement" tritt auf, wenn ein privater Getter und Setter nicht übereinstimmen, ob sie static
sind oder nicht.
Nachricht
SyntaxError: Identifier '#x' has already been declared (V8-based) SyntaxError: getter and setter for private name #x should either be both static or non-static (Firefox) SyntaxError: Cannot declare a private non-static getter if there is a static private setter with used name. (Safari)
Fehlertyp
Was ist schiefgelaufen?
Beispiele
Mismatched placement
js
class Test {
static set #foo(_) {}
get #foo() {}
}
// SyntaxError: getter and setter for private name #foo should either be both static or non-static
Da foo
privat ist, müssen die Methoden entweder beide static
sein:
js
class Test {
static set #foo(_) {}
static get #foo() {}
}
oder nicht statisch:
js
class Test {
set #foo(_) {}
get #foo() {}
}