SyntaxError: private fields können nicht gelöscht werden
Der JavaScript-Ausnahmefehler "SyntaxError: private fields können nicht gelöscht werden" 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 löschen
. Dies ist in JavaScript nicht erlaubt — 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
}
}