원시자료형 : 숫자 문자열 불린 undefined null
- 데이터 보관함 한 칸에 하나의 데이터만
- 원시 자료형은 값 자체에 대한 변경이 불가능하지만, 변수에 다른 데이터를 할당 할 수는 있다.
let x = 2;
let y = x;
y = 3;
변수 x의 값은 원시 자료형이기 때문에 x의 값이었던 2를 y에 복사하여 할당
y에 3이 할당되어도, 여전히 x는 2
----------------------------------------------------------------------------------------------------------------------
참조자료형 : 배열, 객체, 함수
- 참조 자료형에는 하나의 데이터가 아닌 여러개의 데이터가 담기게 되고 참조 자료형의 데이터 자체는 원시 자료형이 보관되는 데이터 보관함이 아닌 특별한 데이터 보관함(heap)에 저장된다.
- 변수에는 이 데이터가 위치한 곳(메모리 상 주소)을 저장한다.
- heap은 마음대로 사이즈를 늘리고 줄일 수 있어서 "동적으로 변한다"고 표현
ex:
let player = { score: 3 };
function doStuff(obj) {
obj.score = 2;
}
doStuff(player);
함수가 호출되면 매개변수 obj에 변수 player의 값이 할당된다. //{ score: 3 }의 주소값 //
obj.score에 2를 할당하면, obj와 player는 같은 주소값을 가지고 있기 때문에, player.score도 2가 된다.
'프론트엔드 > 코드스테이츠 회고' 카테고리의 다른 글
코드스테이츠 Secton1 마침 -KPT 회고 (0) | 2022.07.20 |
---|---|
회고: Dom (0) | 2022.07.14 |
회고: koans (0) | 2022.07.13 |
회고: js mutable, immutable (0) | 2022.07.07 |
회고: CLI (0) | 2022.07.06 |