[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Errors/Hash_outside_class [Back]  [Original]

SyntaxError: Unexpected '#' used outside of class body - JavaScript | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

SyntaxError: Unexpected '#' used outside of class body

L'expression JavaScript "Unexpected '#' used outside of class body" (qu'on peut traduire par  '#' inattendu en dehors d'un corps de classe ) se produit lorsqu'un croisillon ( # ) est trouv dans un contexte inattendu, notamment en dehors d'une dclaration de classe. Les croisillons sont valides au dbut d'un fichier comme commentaire d'interprteur, ou l'intrieur d'une classe pour indiquer un champ priv. Vous pouvez galement rencontrer cette erreur si vous oubliez d'encadrer un identifiant DOM entre quotes (la chane de caractres n'tant alors pas dlimite).

Dans cet article

Message

js
SyntaxError: Unexpected '#' used outside of class body.

Type d'erreur

SyntaxError

Quel est le problme ?

Un caractre # a t trouv dans un contexte inattendu. Cela peut tre du code dplac qui ne fait plus partie d'une classe, un commentaire d'interprteur (hashbang) situ sur une autre ligne que la premire ou l'oubli de quotes/guillemets autour d'un identifiant du DOM.

Exemples

Dlimiteurs de chane manquants

Pour chaque cas, on peut avoir une lgre erreur qui produit cette exception. Par exemple :

js
document.querySelector(#un-lment)

Pourra tre corrig avec :

js
document.querySelector("#un-lment");

En dehors d'une classe

js
class ClasseAvecChampPriv {
  #champPriv;

  constructor() {}
}

this.#champPriv = 42;

Cela pourra tre corrig en dplaant le champ priv l'intrieur de la classe :

js
class ClasseAvecChampPriv {
  #champPriv;

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

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page