SyntaxError: private fields can't be deleted
Der JavaScript-Fehler "SyntaxError: private fields can't be deleted" tritt auf, wenn delete
auf ein privates Element einer Klasse oder eines Objekts angewendet wird.
Meldung
SyntaxError: Private fields can not be deleted (V8-based) SyntaxError: private fields can't be deleted (Firefox) SyntaxError: Cannot delete private field X (Safari)
Fehlertyp
Was ist schiefgelaufen?
Es gibt Code, der versucht, ein privates Element (Feld oder Methode) eines Objekts oder einer Klasse zu delete
. Dies ist in JavaScript verboten – private Elemente können nicht spontan hinzugefügt oder entfernt werden.
Beispiele
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
}
}