JavaScript-Objekt zerstören

Anika Tabassum Era 15 Februar 2024
  1. Verwenden Sie den delete-Operator, um Objekte in JavaScript zu zerstören
  2. Verwenden Sie die destroy-Methode und übergeben Sie Objektinstanzen in JavaScript
  3. Setzen Sie die Objektvariablenreferenz mit JavaScript auf null
JavaScript-Objekt zerstören

Die JavaScript-Methode destroy hat keinen Zugriff auf die Objektinstanzen. In unseren Beispielen sehen wir zwei Möglichkeiten, den Fall zu lösen.

In einem Fall führen wir den Operator delete ein und im nächsten versuchen wir, das Objekt und seine Instanz zu übergeben. Daher werden wir untersuchen, wie unser Objekt und seine Instanz auf undefiniert gesetzt werden.

Verwenden Sie den delete-Operator, um Objekte in JavaScript zu zerstören

Ein Objekt besteht aus mehreren Eigenschaften als Schlüssel-Wert-Paar. Da in JavaScript keine Funktionalität eingeführt wird, die ein Objekt direkt verschwinden lässt, müssen wir die Eigenschaften und die entsprechenden Werte aus der Referenz entfernen.

Entfernen Sie in diesem Fall also die Eigenschaft name. Sehen wir uns die Auswirkungen der Verwendung des Operators Löschen an.

Code-Auszug:

const Employee = {
  name: 'xyz',
  id: 1
};
console.log(Employee.name);
delete Employee.name;
console.log(Employee.name);

Ausgang:

Use delete Operator to Destroy Object

Es kann visualisiert werden, dass der spätere Employee.name als undefined wertet. Das Objekt besteht weiterhin aus der Eigenschaft id.

Wenn wir diese Eigenschaft entfernen, ist das Objekt logisch leer. Das Objekt wird jedoch nicht aus dem Speicher entfernt.

Dennoch besitzt das Objekt keine Eigenschaft der Vergangenheit.

Verwenden Sie die destroy-Methode und übergeben Sie Objektinstanzen in JavaScript

Wir werden einen Klassenkonstruktor initiieren, der die Methode destroy definiert. Die Funktion Zerstören übernimmt dabei das zu bedienende Objekt und seine konkreten Instanzen.

Später werden wir eine Instanz für die Objekteigenschaft instanziieren, und diese neue Instanz wird so betrieben, dass sie null ist oder verschwindet.

Code-Auszug:

// Class constructor
var Class = function() {
  this.destroy = function(baseObject, refName) {
    delete baseObject[refName];
  };
};
// instanciate
var store = {'name': 'abc', 'id': 2};
console.log(store.id);
store.id = new Class();
console.log(store.id);
store.id.destroy(store, 'id');
console.log(store.id);

Ausgang:

Zerstören-Methode verwenden und Objektinstanzen übergeben

Obwohl die store.id noch eine new Class()-Initiierung hat, startete die Löschoperation nicht, bevor die Parameter (Objekt, Instanz) in der destroy-Methode übergeben wurden. Auf diese Weise kann ein Objekt dazu neigen, null zu sein.

Setzen Sie die Objektvariablenreferenz mit JavaScript auf null

Wenn eine Variable auf ein Objekt zeigt und es auf null setzt, haben Sie keinen Zugriff auf das Objekt. Daher löscht der JavaScript-Garbage Collector das Objekt.

Die Variable userName zeigt im folgenden Codebeispiel auf ein Objekt. Wir können nun über die Variable userName auf das Objekt zugreifen.

Wenn wir jedoch die Variable userName auf null setzen, haben Sie keinen Zugriff mehr auf das Objekt. Dadurch wird das Objekt gelöscht und der Speicher freigegeben.

Code:

let userName = {id: 1, position: 2} console.log('Before deletion: ', userName);
// Set the object reference to null
userName = null;

// Check if we can reach the object
console.log('After deletion: ', userName);

Ausgang:

Before deletion:  Object { id: 1, position: 2 }
After deletion:  null
Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook

Verwandter Artikel - JavaScript Object