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

js
document.querySelector(#some-element)

Dies kann durch Folgendes behoben werden

js
document.querySelector("#some-element");

Außerhalb einer Klasse

js
class ClassWithPrivateField {
  #privateField;

  constructor() {}
}

this.#privateField = 42;

Dies kann behoben werden, indem das private Feld zurück in die Klasse verschoben wird

js
class ClassWithPrivateField {
  #privateField;

  constructor() {
    this.#privateField = 42;
  }
}

Siehe auch