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

js
document.querySelector(#some-element)

Dies kann behoben werden durch

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