Javascript의 변수 타입
자바스크립트의 변수 타입에는 크게 '원시 타입'과 '참조 타입'으로 나뉜다. 원시타입의 변수들은 데이터 복사가 일어날 때 메모리 공간을 새로 확보하여 독립적인 값을 저장하며, 참조타입은 메모리에 직접 접근이 아닌 메모리의 위치(주소)에 대한 간접적인 참조를 통해 메모리에 접근한다는 특징이 있다.
원시 타입
원시타입에는 아래와 같은 변수들이 있다.
- 숫자(Number)
- 문자열(String)
- 불리언(Boolean)
- null
- undefiend
- 심볼(Symbol) : ES6에서 추가된 원시타입으로, 유일하고 변경 불가능한 값을 생성하는 데 사용된다.
원수 타입은 변수에 직접 값을 저장한다. 즉, 변수에 원시 값을 할당하면 해당 변수에는 실제 값이 저장되며, 변수 간에 값 복사가 이루어진다.
참조 타입
참조 타입은 원시 타입을 제외한 타입들을 말한다.
- 객체(Object)
- 배열(Array)
- 함수(Function)
- 날짜(Date)
참조 타입은 객체를 가리키는 메모리 주소를 변수에 저장한다. 즉, 변수에는 객체의 실제 값이 아닌 해당 객체를 가리키는 위치(주소)가 저장된다. 따라서 변수 간에 참조 복사가 이루어지며, 두 변수가 같은 객체를 참조하게 된다.
💬 오늘의 생각
요즘은 CS면접 준비를 하며 복습 중이다. 면접에서 원시타입과 참조타입에 대해 많이 물어본다는 이야기를 들었는데, 아직은 그 이유를 잘 모르겠다. 꼬리질문으로 이어질 수 있는 부분들을 더 공부해봐야겠다.
📖 레퍼런스
'Daily > Today I Learned' 카테고리의 다른 글
상태관리도구 Redux Toolkit (0) | 2023.08.01 |
---|---|
단반향 바인딩과 양방향 바인딩 (0) | 2023.07.29 |
네트워크 기초 복습 (0) | 2023.05.03 |
fe-sprint-mini-node-server (0) | 2023.04.04 |
fe-sprint-statesairline-client (0) | 2023.04.03 |
댓글