Spec-Zone.ru › JavaScript

SyntaxError: приватные поля нельзя удалить

Исключение JavaScript "SyntaxError: private fields can't be deleted" возникает, когда delete используется для приватного элемента класса или объекта.

Сообщение

SyntaxError: Private fields can not be deleted (V8-based)
SyntaxError: private fields can't be deleted (Firefox)
SyntaxError: Cannot delete private field X (Safari)

Тип ошибки

SyntaxError

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

Код пытается delete приватный элемент (поле или метод) объекта или класса. Это запрещено JavaScript — приватные элементы нельзя добавлять или удалять "на лету".

Примеры

class MyClass {
  #myPrivateField;
  deleteIt() {
    delete this.#myPrivateField; // SyntaxError: private fields can't be deleted
  }
}
class MyClass {
  #myPrivateMethod() {
  }
  #deleteIt() {
    delete this.#myPrivateMethod; // SyntaxError: private fields can't be deleted
  }
}

См. также

  • Классы
  • Приватные элементы

© 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/Cant_delete_private_fields

Spec-Zone.ru

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