Daily Notebook

데이터 타입의 종류

by 배부른코딩로그
자바스크립트의 기본개념을 뿌셔보자..!!

 

자바스크립트의 데이터 타입에는 크게 두 가지가 있습니다.

 

'Primitive Type''Reference Type'이다. 보통 '기본형''참조형'이라고 부릅니다.

 

ES6부터 'Symbol-심볼'이 추가됐지만, ES6는 아직 모르니 나중에 공부하도록 하죠....!!

 

1) 기본형(Primitive Type) - 원시적인 데이터 타입이다!

  1. Number (숫자)

  2. String (문자열)

  3. Boolean (불리언)

  4. null

  5. undefined 등..

 

2) 참조형(Reference Type) - 기본형을 참조하고 있는 데이터 타입이다!

  1. 객체(Object)

  2. 배열(Array)

  3. 함수(Function)

  4. 날짜(Date)

  5. 정규표현식(RegExp) 등...

  6. ES6에서 추가된 참조형 → Map / WeakMap / Set / WeakSet 등.

 

▷ 기본형과 참조형의 구분은 무엇일까?

일반적으로 기본형은 할당이나 연산시 복제되고, 참조형은 참조된다고 합니다.

 

사실 두 타입 모두 복제됩니다.

 

즉, 기본형은 값을 바로 복사하고 참조형은 값이 담긴 주소값들로 이루어진 묶음을 가르키는 주소값을 복제한다는 점입니다.

 

이건 또 무슨 소리인지, 예제를 통해 살펴보시죠.

var x = 0;
var y = x;
x = 1;

console.log(y); // 0

0이라는 숫자는 원시값입니다.

 

그 값을 변수 y에 넣고 x의 값을 변경시켰지만, y는 예상과 다르게 처음 값인 0으로 출력됩니다.

 

var x = {cnt: 0}
var y = x;

x.cnt++

console.log(y); // {cnt: 1}

이번에는 변수 x 는 객체입니다. 즉, 참조 타입의 데이터죠.

 

x.cnt 의 값을 1 증가시키고, y를 출력하면 1 증가된 x와 동일한 객체가 출력됩니다.

 

이제 이해가 되시나요?

 

 

원시 타입은 값을 복사하고, 참조 타입은 주소를 복사한다는 말은 위 예제를 통해 감이 오셨길 바랍니다 : )

 

 

값이 복사되고 참조되는 원리는 다음 장('메모리와 데이터')에서 조금 자세히 파악해보시죠...!!!

 

 

 

 

 

[출처] '코어 자바스크립트 - 핵심 개념과 동작 원리로 이해하는 자바스크립트 프로그래밍', 정재남 지음
[출처] 'https://velog.io/@surim014/JavaScript-Primitive-Type-vs-Reference-Type', surim014, 2019. 9.18

반응형

'자바스크립트 > 코어 자바스크립트' 카테고리의 다른 글

클로저의 활용  (0) 2020.04.07
클로저(Closure)  (0) 2020.04.05
콜백 함수(Callback function)  (0) 2020.03.31
this  (0) 2020.03.28
메모리와 데이터  (0) 2020.03.21

블로그의 정보

배부른코딩로그

배부른코딩로그

활동하기