SyntaxError: Unerwartetes '#' außerhalb des Klassenkörpers verwendet
Der JavaScript-Fehler "Unerwartetes '#' außerhalb des Klassenkörpers verwendet" tritt auf, wenn ein Hash-Zeichen ("#") in einem unerwarteten Kontext, insbesondere außerhalb einer Klassendeklaration, auftritt. Hash-Zeichen sind am Anfang einer Datei als Hashbang-Kommentar zulässig oder innerhalb einer Klasse als Teil eines privaten Feldes. Dieser Fehler kann auch auftreten, wenn die Anführungszeichen beim Zugriff auf einen DOM-Identifier vergessen werden.
Nachricht
SyntaxError: Unexpected '#' used outside of class body.
Fehlertyp
Was ist schiefgelaufen?
Wir haben irgendwo ein unerwartetes #
entdeckt. Dies kann darauf zurückzuführen sein, dass Code verschoben wurde und nicht mehr Teil einer Klasse ist, ein Hashbang-Kommentar auf einer anderen als der ersten Zeile einer Datei gefunden wurde oder die Anführungszeichen um einen DOM-Identifier versehentlich vergessen wurden.
Beispiele
Fehlende Anführungszeichen
In jedem Fall könnte es einen kleinen Fehler geben. Zum Beispiel
document.querySelector(#some-element)
Dies kann behoben werden durch
document.querySelector("#some-element");
Außerhalb einer Klasse
class ClassWithPrivateField {
#privateField;
constructor() {}
}
this.#privateField = 42;
Dies kann behoben werden, indem das private Feld zurück in die Klasse verschoben wird
class ClassWithPrivateField {
#privateField;
constructor() {
this.#privateField = 42;
}
}