JavaScript에서 스택과 힙은 데이터 관리에 사용되는 두 가지 유형의 메모리로, 각각 고유한 목적을 가지고 있습니다.
*스택과 힙이란 무엇입니까 *
스택 : 스택은 주로 기본 유형 및 함수 호출을 저장하기 위해 정적 메모리 할당에 사용됩니다. 간단한 LIFO(후입선출) 구조로 접근이 매우 빠릅니다.
Heap : Heap은 객체와 배열(비원시형)이 저장되는 동적 메모리 할당에 사용됩니다. 스택과 달리 힙은 유연한 메모리 할당이 가능하므로 액세스가 더 복잡하고 느립니다.
스택 메모리 예시 :
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)
이 예에서는:
힙 메모리 예시
이제 기본이 아닌 데이터 유형(객체)이 힙에서 어떻게 관리되는지 확인해 보겠습니다.
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
이 예에서는:
주요 시사점
*스택 메모리 *는 기본 유형 및 함수 호출을 저장하는 데 사용됩니다. 값을 할당할 때마다 스택에 새 복사본이 생성됩니다.
*힙 메모리 *는 객체 및 배열을 저장하는 데 사용됩니다. 동일한 객체를 참조하는 변수는 메모리에서 동일한 메모리 위치를 공유하므로 한 변수를 변경하면 다른 변수에 영향을 미칩니다.
위 내용은 JavaScript의 스택 및 힙 이해 .의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!