SyntaxError: private fields can't be deleted
The JavaScript exception "SyntaxError: private fields can't be deleted" occurs when delete
is used on a private property of a class or an object.
Message
SyntaxError: Private fields can not be deleted (V8-based) SyntaxError: private fields can't be deleted (Firefox) SyntaxError: Cannot delete private field X (Safari)
Error type
What went wrong?
There's code trying to delete
a private property (field or method) of an object or a class. This is forbidden by JavaScript—private properties cannot be added or removed on the fly.
Examples
js
class MyClass {
#myPrivateField;
deleteIt() {
delete this.#myPrivateField; // SyntaxError: private fields can't be deleted
}
}
js
class MyClass {
#myPrivateMethod() {
}
#deleteIt() {
delete this.#myPrivateMethod; // SyntaxError: private fields can't be deleted
}
}