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
}
}