SyntaxError: Unerwartetes '#' außerhalb des Klassenkörpers verwendet
Der JavaScript-Ausnahmefehler "Unerwartetes '#' außerhalb des Klassenkörpers verwendet" tritt auf, wenn ein Hash ("#") in einem unerwarteten Kontext erscheint, insbesondere außerhalb einer Klassendeklaration. Hashes sind am Anfang einer Datei als Hashbang-Kommentar erlaubt oder innerhalb einer Klasse als Teil eines privaten Feldes. Dieser Fehler kann auftreten, wenn Sie die Anführungszeichen vergessen, wenn Sie versuchen, auf einen DOM-Bezeichner zuzugreifen.
Meldung
SyntaxError: Unexpected '#' used outside of class body.
Fehlertyp
Was ist schiefgelaufen?
Wir haben ein #
an einer unerwarteten Stelle gefunden. Dies kann daran liegen, dass der Code bewegt 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 einen DOM-Bezeichner versehentlich weggelassen wurden.
Beispiele
Fehlende Anführungszeichen
Für jeden Fall könnte etwas leicht falsch sein. Zum Beispiel
document.querySelector(#some-element)
Dies kann durch Folgendes behoben werden
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;
}
}