프론트엔드/자바스크립트

원시 자료형(primitive)vs참조 자료형(referense)

테오구 2021. 9. 8. 10:07
728x90

Achievement Goals

원시 자료형과 참조 자료형

  • 원시 자료형(primitive type)과 참조 자료형(reference type)의 구분이 왜 필요한지에 대해서 영상을 보고 이해할 수 있다.
  • 원시 자료형과 참조 자료형의 차이를 이해하고, 각자 맞는 상황에서 사용할 수 있다.
  • 원시 자료형이 할당될 때에는 변수에 값(value) 자체가 담기고, 참조 자료형이 할당될 때는 보관함의 주소(reference)가 담긴다는 개념을 코드로 설명할 수 있다.
  • 참조 자료형은 기존에 고정된 크기의 보관함이 아니라, 동적으로 크기가 변하는 특별한 보관함을 사용한다는 것을 이해할 수 있다.

 

let a;로 변수를 선언하면 사물함의 이름표에 a를 붙이는것과 같다. 그 후 변수에 1을 할당하면 사물함에 1을 넣어주는 겁니다. 이걸 원시타입 데이터(primitive data)라고 합니다.

 

 

그렇다면 배열은 어떨까요? 배열의 사물함에는 주소를 붙여주고 heap이라는 공간에 4,5,6의 값을 넣어줍니다.

배열, 객체, 함수 이 세가지 이에 해당합니다. 

이것을 창조 타입 데이터(reference type data)라고 합니다.

원시 데이터는 서로 복사를 하여 b === 1로 만들어준 다음 다시 b = 2를 할당하더라도 a에는 영향을 주지 않습니다.

 

그렇지만 참조 타입 데이터를 주소를 복사하기 때문에 복사한 변수에 값을 변화시키면  기존의 데이터에도 영향이 간다.

 

 

728x90

'프론트엔드 > 자바스크립트' 카테고리의 다른 글

클로저  (0) 2021.09.08
스코프  (0) 2021.09.08
Promise  (0) 2021.08.28
Callback 지옥  (0) 2021.08.28
JSON  (0) 2021.08.28