SyntaxError: Unerwartetes '#' außerhalb des Klassenkörpers verwendet
Der JavaScript-Ausnahmefehler "Unerwartetes '#' außerhalb des Klassenkörpers verwendet" tritt auf, wenn ein Hashzeichen ("#") in einem unerwarteten Kontext gefunden wird, insbesondere außerhalb einer Klassendeklaration. Hashzeichen sind am Anfang einer Datei als Hashbang-Kommentar oder innerhalb einer Klasse als Teil eines privaten Feldes gültig. Dieser Fehler kann auftreten, wenn Sie die Anführungszeichen vergessen, während Sie versuchen, auf eine DOM-Kennung zuzugreifen.
Meldung
SyntaxError: Unexpected '#' used outside of class body.
Fehlertyp
Was ist schiefgelaufen?
Wir haben ein #
an einem unerwarteten Ort gefunden. Dies kann darauf zurückzuführen sein, dass Code verschoben wurde und nicht mehr Teil einer Klasse ist, ein Hashbang-Kommentar, der sich nicht in der ersten Zeile einer Datei befindet, oder dass die Anführungszeichen um eine DOM-Kennung versehentlich vergessen wurden.
Beispiele
Fehlende Anführungszeichen
In jedem Fall könnte etwas leicht falsch sein. 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;
}
}