In JavaScript können Sie den Löschbetreiber verwenden, um Eigenschaften in einem Objekt zu löschen:
Die Codekopie lautet wie folgt:
var t = {a: 42, b: 26};
console.log (t); // Objekt {a = 42, b = 26}
ta löschen;
console.log (t); // Objekt {B = 26}
Die Begrenzung dieser Eigenschaft Löschung ist, dass der Löschbetreiber nur alle Eigenschaften des Objekts selbst löschen kann und keine aus dem Prototypobjekt geerbten Eigenschaften löschen kann. Wenn Sie die Eigenschaft im Prototyp -Objekt löschen möchten, müssen Sie das Prototyp -Objekt explizit erhalten und Operationen im Prototyp -Objekt ausführen:
Die Codekopie lautet wie folgt:
var o = {x: 1, y: 2};
var a = Object.create (o);
Az = 3;
console.log (a); // Objekt {z = 3, x = 1, y = 2}
Axe löschen; // kann die ererbte Eigenschaft nicht löschen
console.log (a); // Objekt {z = 3, x = 1, y = 2}
Löschen Sie Az; // kann eigene Eigenschaft löschen
console.log (a); // Objekt {x = 1, y = 2}
löre a .__ proto __. x;
console.log (a); // Objekt {y = 2}
Wenn die Eigenschaft im Prototyp -Objekt gelöscht wird, werden alle vom Prototypobjekt geerbten Objekte betroffen.
Für den Rückgabewert der Löschvorstellung folgt JavaScript die folgenden Regeln:
1. Wenn der Löschvorgang erfolgreich ist, geben Sie True zurück.
2. Wenn der Löschvorgang keine Auswirkung hat (z. B. die zu löschende Eigenschaft existiert nicht), wird auch true zurückgegeben.
3. Wenn die von Ihnen löschende Eigenschaft eine konfigurierbare Eigenschaft von False enthält, wird im strengen Modus ein TypeRror-Fehler gemeldet, und FALSE wird im Nichtstreifenmodus zurückgegeben.
Wenn der Löschbetreiber als Eigenschaft des globalen Objekts fungiert, kann das globale Objekt im Code im Nichtstreifenmodus weggelassen werden:
Die Codekopie lautet wie folgt:
this.c = 42;
C; // gleich löschen this.c;
Es ist zu beachten, dass im strengen Modus die obige Schreibmethode einen SyntaxErrorfehler wirft.