← 返回首页
SyntaxError: private fields can't be deleted - JavaScript | MDN

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 element of a class or an object.

In this article

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

SyntaxError

What went wrong?

There's code trying to delete a private element (field or method) of an object or a class. This is forbidden by JavaScript—private elements 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 } }

See also