JavaScript

스택, 힙, 비파괴적 처리, 파괴적 처리

동구나라 2023. 1. 27. 08:33

 

 스택과 힙

저장을 할 때 사용하는 공간

- 스택(stack) : 스택스택 쌓는 공간[잘 쌓는 공간]

   -> 기본 자료형은 직접!

   -> 복합 자료형은 그 주소(address)!

 

- 힙(heap) : 힙힙 던져서 쌓는 공간[대충 큰것들을 던져서 쌓은 공간]

    -> 복합 자료형의 본체가 저장

    

 

 


 

 

 

- 스택 : 기본 자료형과 주소 등을 저장하는 메모리 공간

- 힙 : 복합 자료형을 저장하는 메모리공간

- 주소 : 저장된 자료의 위치

- 레퍼런스한다: 스택의 주소가 힙의 자료를 가르키는 것

- 레퍼런스 변수 : 스택에 저장된 것중에 주소가 저장된 변수

 


어떠한 처리 후 원본이 변경되지 않는다 -> 비파괴적 처리 

let a = 10

let b = 20

a + b 

30 


어떠한 처리 후 원본이 변경된다 -> 파괴적 처리

 

let c = [1,2,3]

c.push(4)

 


const의 제한

const -> 스택에 있는 값 변경할 때 오류!!

   -> 힙에 있는 레퍼런스된 복합 자료형을 조작하는 것에는 문제 X 

        -> 예  const a = [1,2]

                   a = [2, 3] 오류!

                   a.push(3,4) 가능!

 

 

'JavaScript' 카테고리의 다른 글

continue  (0) 2023.01.29
forof , forin ,for  (0) 2023.01.27
배열의 메서드  (0) 2023.01.27
날짜와 시간 구하기  (0) 2023.01.26
insertAdjacentHTML  (0) 2023.01.17