자바스크립트 원시 자료형과 참조자료형의 특징들과 종류들에대해 알아보자

자바스크립트 자료형이란?

 

  • 데이터에는 몇가지 종류가 있는데 이를 데이터 타입이라고 합니다
  • 데이터 타입은 크게 2가지의 타입이있으며 이 타입들을 각각  원시 자료형 데이터타입과 참조 자료형 데이터타입이라고 부릅니다

 

원시 자료형 데이터타입 

원시 자료형 데이터타입의 특징과 종류

원시 자료형 데이터타입 특징

  • 값이 변수에 할당될때 메모리상에 고정된 크기로 저장됩니다
  • 해당 변수가 직접 값을 보관합니다
  • 원시 타입 자료형은 모두 변수 선언, 초기화, 할당시 값이 저장된 메모리 영역에 직접적으로 접근합니다
  • 각 변수간에 원시타입 데이터를 복사할 경우에 기존 데이터값이 복사되기때문에 기존에 사용하던 데이터에 영향이 가지않습니다

위의 예제를 살펴보면 existring 에 원시 자료형인 number 타입인 1234 를 변수 existring에 할당합니다

change에 변수 existring 의 값을 복사합니다

현재 변수 existring 과 변수 change의 값은 number 타입인 1234 입니다

change의 변수의 값을 4567 로 변경합니다

변수 existring 와 변수 change의 값을 살펴보면 change의 값에 existring 을 할당하여 변수의 값을 변경했지만

원시타입인 number 기 때문에 기존의 데이터에는 영향을 가지않은것을 볼수있습니다

원시 자료형 데이터타입 종류

  • Number  = 숫자형
  • Boolean = 불린형
  • String = 문자형 
  • Symbol = 심볼형
  • null = null 
  • undefined = unfined

 

typeof 메서드를 활용하여 타입을 검사할 항목들에 대한 원시형 자료들에대해 콘솔로 찍은 화면입니다

 

참조 자료형 데이터 타입

참조 자료형 데이터타입의 특징과 종류

참조 자료형 데이터타입 특징

  • 원시 타입과 달리 변수에 고정된 크기를 저장하지 않고 값의 메모리 주소를 참조합니다
  • 객체는 속성들의 집합을 의미하며 집합내부에는 순서도 크기도 고정되어 있지 않습니다
  • 참조 타입은 값의 메모리 주소를 변수에 할당하여 값을 참조합니다
  • 주소를 복사해서 사용함 그렇기때문에 복사한데이터에서 원소를 변경하게된다면 주소안의 데이터가 변경이 되어 기존의 데이터에도 영향이감

위의 예제를 살펴보면 배열로 만들어서 콘솔에 실험해본 사진과 객체로 만들어서 콘솔에 실험해본 사진입니다

원시자료형은 복사를 해와서 참조를 하고있더라도 기존의 데이터에는 영향이가지않습니다

하지만 참조 자료형은 다름을 알수있습니다

객체를 referenceType 를 만들고 객체안의 키와 값들을 할당합니다

변수 changeReference 를  만들고 변수 referenceType 값들을 할당합니다

변경하기전의 changeReference 는 referenceType과 같은 키와 값을들고있습니다

changeReference 에 새로운 키와 값을 할당하고 changeReference와  참조하고있는 referenceType 의 값이 달라진걸 볼수있습니다

참조 자료형 데이터타입 종류

  • Array  [ ] =  배열
  • Object  { }= 객체
  • function  = 함수

배열의 검사방법은 Array.isArray() 메서드를 사용해서 검사할수있습니다 

위의 함수는 result 값을 검사했을시 배열이면 true  객체이면 object 아니면 false를 사용한 결과입니다 

+ Recent posts