Spec-Zone.ru › JavaScript

SyntaxError: Неожиданный символ '#' вне тела класса

Исключение JavaScript "Unexpected '#' used outside of class body" возникает, когда символ решетки ("#") встречается в неожиданном контексте, чаще всего вне объявления класса. Символы решетки допустимы в начале файла как комментарий hashbang или внутри класса как часть приватного поля. Вы можете столкнуться с этой ошибкой, если забудете кавычки при попытке доступа к идентификатору DOM.

Сообщение

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

Тип ошибки

SyntaxError

Что пошло не так?

Мы столкнулись с # где-то неожиданно. Это может быть связано с перемещением кода, который больше не является частью класса, комментарием hashbang, найденным не на первой строке файла, или случайным пропуском кавычек вокруг идентификатора DOM.

Примеры

Отсутствие кавычек

Для каждого случая может быть что-то немного не так. Например

document.querySelector(#some-element)

Это можно исправить так:

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

Вне класса

class ClassWithPrivateField {
  #privateField;

  constructor() {}
}

this.#privateField = 42;

Это можно исправить, вернув приватное поле обратно в класс:

class ClassWithPrivateField {
  #privateField;

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

См. также

  • SyntaxError

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Hash_outside_class

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API