코드스테이츠 42기/[TIL] Section 1

S1U10 [JavaScript] 핵심 개념과 주요 문법 1

랜덤다이스 2022. 11. 7. 10:19

이해도 자가 점검 리스트

Chapter1. 원시 자료형과 참조 자료형

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

원시자료형 : number, string, boolean, undefined, null

  • 데이터 보관함 한 칸에 하나의 데이터만 보관
  • 값 자체에 대한 변경 불가능, 변수에 다른 데이터는 할당 가능
let x = 2;
let y = 3;
y = 3;

변수 x 는 원시 자료형이라 x의 값 2를 y에 복사해서 할당

y에 3이 할당되어도 여전히 x는 2가 됨

 

참조자료형 : 배열,객체,함수

  • 참조 자료형은 하나의 데이터가 아닌 여러개의 데이터가 담김
  • 변수에는 이 데이터가 위치한 곳(address) 저장
  • 데이터 자체는 원시 자료형이 보관되는 데이터 보관함이 아닌 (특별 보관함 heap)에 저장 
  • "heap" 에는 마음대로 사이즈 조정가능, 동적으로 변함
let player = { score: 3 };
function doStuff(obj) { 
  obj.score = 2;
}

doStuff(player);

함수가 호출되면 매개변수 obj에 변수 player의 값이 할당됨 // {score : 3} //

obj.score에 2를 할당하면, obj와 player는 같은 주소값을 가지고 있기 때문에, player.score도 2가 됨

 

 

원시 자료형과 참조 자료형의 차이

원시 자료형은 변수에 값이 할당될 때, 값 자체가 할당됨

참조 자료형은 변수에 값이 할당될 때, 보관함의 주소(reference)가 할당됨

변수엔 원시 값 혹은 주소만 지정할 수 있고, 주소는 크기가 변하는 특별한 데이터 저장소인 heap을 참조하게 됨