SyntaxError: private fields can't be deleted
当对类或对象的私有元素使用delete时,会发生 JavaScript 异常 "SyntaxError:无法删除私有字段"。
消息
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 禁止这样做——私有元素不能即时添加或删除。
示例
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
}
}