In JavaScript sind Stack und Heap zwei Arten von Speicher, die zum Verwalten von Daten verwendet werden und jeweils einen bestimmten Zweck haben:
*Was sind Stack und Heap *
Stack: Der Stack wird für die statische Speicherzuweisung verwendet, hauptsächlich zum Speichern primitiver Typen und Funktionsaufrufe. Es handelt sich um eine einfache LIFO-Struktur (Last-In, First-Out), die einen sehr schnellen Zugriff ermöglicht.
Heap: Der Heap wird für die dynamische Speicherzuweisung verwendet, wo Objekte und Arrays (nicht-primitive Typen) gespeichert werden. Im Gegensatz zum Stack ist der Heap komplexer und langsamer im Zugriff, da er eine flexible Speicherzuweisung ermöglicht.
Beispiel für Stapelspeicher:
let myName = "Amardeep"; //primitive type stored in stack let nickname = myName; // A copy of the value is created in the Stack nickname = "Rishu"; // Now changing the copy does not affect the original value . console.log(myName); // output => Amardeep (Original values remains unchanged since we are using stack) console.log(nickname); // output => rishu (only the copied value will changed)
In diesem Beispiel:
Beispiel für Heap-Speicher
Schauen wir uns nun an, wie nicht-primitive Datentypen (Objekte) im Heap verwaltet werden.
let userOne = { // The reference to this object is stored in the Stack. email: "user@google.com", upi: "user@ybl" }; // The actual object data is stored in the Heap. let userTwo = userOne; // userTwo references the same object in the Heap. userTwo.email = "amar@google.com"; // Modifying userTwo also affects userOne. console.log(userOne.email); // Output: amar@google.com console.log(userTwo.email); // Output: amar@google.com
In diesem Beispiel:
Wichtige Erkenntnisse
*Stapelspeicher * wird zum Speichern primitiver Typen und Funktionsaufrufe verwendet. Jedes Mal, wenn Sie einen Wert zuweisen, wird eine neue Kopie im Stapel erstellt.
*Heap-Speicher * wird zum Speichern von Objekten und Arrays verwendet. Variablen, die auf dasselbe Objekt verweisen, teilen sich denselben Speicherort im Speicher, sodass sich die Änderung einer Variablen auf die anderen auswirkt.
Das obige ist der detaillierte Inhalt vonStack und Heap in JavaScript verstehen.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!