본문 바로가기
Daily/Today I Learned

원시 타입(Primitive type)과 참조 타입(Reference Type)

by hustle-ing 2023. 8. 2.

Javascript의 변수 타입

자바스크립트의 변수 타입에는 크게 '원시 타입'과 '참조 타입'으로 나뉜다. 원시타입의 변수들은 데이터 복사가 일어날 때 메모리 공간을 새로 확보하여 독립적인 값을 저장하며, 참조타입은 메모리에 직접 접근이 아닌 메모리의 위치(주소)에 대한 간접적인 참조를 통해 메모리에 접근한다는 특징이 있다.

 

원시 타입

원시타입에는 아래와 같은 변수들이 있다.

  • 숫자(Number)
  • 문자열(String)
  • 불리언(Boolean)
  • null
  • undefiend
  • 심볼(Symbol) : ES6에서 추가된 원시타입으로, 유일하고 변경 불가능한 값을 생성하는 데 사용된다.

원수 타입은 변수에 직접 값을 저장한다. 즉, 변수에 원시 값을 할당하면 해당 변수에는 실제 값이 저장되며, 변수 간에 값 복사가 이루어진다.

 

 

참조 타입

참조 타입은 원시 타입을 제외한 타입들을 말한다.

  • 객체(Object)
  • 배열(Array)
  • 함수(Function)
  • 날짜(Date)

참조 타입은 객체를 가리키는 메모리 주소를 변수에 저장한다. 즉, 변수에는 객체의 실제 값이 아닌 해당 객체를 가리키는 위치(주소)가 저장된다. 따라서 변수 간에 참조 복사가 이루어지며, 두 변수가 같은 객체를 참조하게 된다.

 

 

 

💬 오늘의 생각

요즘은 CS면접 준비를 하며 복습 중이다. 면접에서 원시타입과 참조타입에 대해 많이 물어본다는 이야기를 들었는데, 아직은 그 이유를 잘 모르겠다. 꼬리질문으로 이어질 수 있는 부분들을 더 공부해봐야겠다.

 

 

 

📖 레퍼런스

https://eun-ng.tistory.com/10

https://velog.io/@gillog/%EC%9B%90%EC%8B%9C%ED%83%80%EC%9E%85-%EC%B0%B8%EC%A1%B0%ED%83%80%EC%9E%85Primitive-Type-Reference-Type

 

'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

댓글