데이터 타입의 종류
by 배부른코딩로그자바스크립트의 기본개념을 뿌셔보자..!!
자바스크립트의 데이터 타입에는 크게 두 가지가 있습니다.
'Primitive Type'과 'Reference Type'이다. 보통 '기본형'과 '참조형'이라고 부릅니다.
ES6부터 'Symbol-심볼'이 추가됐지만, ES6는 아직 모르니 나중에 공부하도록 하죠....!!
1) 기본형(Primitive Type) - 원시적인 데이터 타입이다!
-
Number (숫자)
-
String (문자열)
-
Boolean (불리언)
-
null
-
undefined 등..
2) 참조형(Reference Type) - 기본형을 참조하고 있는 데이터 타입이다!
-
객체(Object)
-
배열(Array)
-
함수(Function)
-
날짜(Date)
-
정규표현식(RegExp) 등...
-
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 |
블로그의 정보
배부른코딩로그
배부른코딩로그