[JS] 원시자료형 & 참조자료형

지후맨·2021년 9월 9일
0

section 1 [JS]

목록 보기
5/6
post-thumbnail

📌 변수의 타입

자바스크립트(JavaScript)에는 타입(Type)이라는 개념이 있다.

변수에는 다양한 타입이 있다.

변수에 담을 수 있는 데이터는 숫자나 문자처럼 특정한 형태를 가지고 있다.

타입에 따라 할 수 있는 일이 다르다.


📌 원시자료형과 참조자료형

💡 데이터의 두가지 타입

  • 원시자료형(primitive type)과 참조자료형(reference type)이 있다.
  • 원시자료형이 할당될 때에는 변수에 값(value) 자체가 담긴다.
  • 참조자료형이 할당될 때에는 보관함의 주소(reference)가 담긴다.

💡 원시자료형(primitive data type)=원시타입

  • 객체가 아니면서 method를 가지지 않는 6가지의 타입.
  • 원시자료형은 모두 하나의 정보, 즉, 데이터를 담고 있다.
  • 원시자료형이 담기는 보관함의 크기는 고정하는 것이 합당하다. 어느정도 일정한 크기의 데이터가 온다고 예상할 수 있기 때문이다.
  • string, number, bigint, boolean, undefined, symbol, (null)(null은 원시타입과 거의 같게 사용되지만 엄밀히 따지면 객체이다.)

✔️ 자주 사용하는 4(+1)가지 원시자료형

  1. number: 3.141592
  2. string: 'ghooman'
  3. boolean: true, false
  4. undefined: 변수가 정의되지 않았거나 값이 없다.
  5. null: 의도적으로 비어있음을 표현하기 위해 null이라는 것이 들어있다.

💡 참조자료형(reference data type)=참조타입

  • 자바스크립트에서는 원시자료형이 아닌 모든 것은 참조자료형이다.
  • 참조형은 원시형 데이터의 집합이다.
  • 배열([])과 객체({}), 함수(function)가 대표적이다.
  • 참조자료형은 기존에 고정된 크기의 보관함이 아니다.
  • 참조자료형을 변수에 할당할 때에는 변수의 값이 아닌 주소를 저장한다.
  • 동적으로 크기가 변하는 데이터를 보관하기 위해 변수가 아닌 다른곳에 데이터를 저장하고 변수에는 그 주소만 할당한다.

✔️ 코드 예제

원시 타입 데이터는 각 변수간에 데이터를 복사할 경우, 데이터 값이 복사되기 때문에 기존의 데이터에 영향이 가지 않는다

let a = 1;
b = a; //데이터를 복사할 경우
b = 2; 
a; //1, 기존의 데이터에 영향이 가지 않는다

참조 타입 데이터는 주소를 복사한다. 그렇기 때문에 복사한 데이터에서 원소를 변경하면, 주소안에 있는 데이터가 변경되는 것이기 때문에 기존의 데이터에도 영향이 간다.

let a = [10, 20];
let b = a;
b[0] = 50;
a; //[50, 20]
profile
ghooman's area

0개의 댓글