04-2 자바스크립트 스택, 힙, 비파괴적 처리, 파괴적 처리

2748 단어 JavaScriptJavaScript

혼자 알아보게 정리하기 . .

  • 스택(Stack) : 기본 자료형과 주소 등을 저장하는 메모리 공간
  • 힙(Heap) : 복합 자료형을 저장하는 메모리 공간
  • 주소 : 저장된 자료의 위치
  • 레퍼런스한다 : 스택의 주소가 힙의 자료를 가리키는 것
  • 레퍼런스 변수 : 스택에 저장된 것중에 주소가 저장된 변수

비파괴적 처리

어떠한 처리 후 원본이 변경되지 않는다

const a = '안녕' // 변수 선언
const b = '하세요'

const c = a + b // 문자열을 연결하는 처리

> c
"안녕하세요"
> a
"안녕"
> b
"하세요"
// 원본 내용이 변경되지 않음

파괴적 처리

어떠한 처리 후 원본이 변경된다

const a = ['사과', '배', '바나나'] // 변수 선언

a.push('귤') // 배열 뒷부분에 요소 추가

>a
(4) ['사과', '배', '바나나', '귤'] // 원본 내용이 변경 됨

최근엔 비파괴적 처리만 한다 . . . .

배열을 상수로 선언했는데 왜 변경이 가능한가요?
힙에 있는 레퍼런스된 복합 자료형을 조작하는 것이기 때문에

const는 스택에 있는 값을 못 변경하게 만드는 것
배열은 힙에 있는 객체를 변경했기 때문에 처리가 가능한 것

나중에 엄청 복잡해집니답당답당

좋은 웹페이지 즐겨찾기