- 자바스크립트의 타입에는 크게 기본(원시)형 데이터와 참조형 데이터가 있다.
기본형 데이터
- 기본형 자료형은 값을 그대로 할당한다.
- 기본형 데이터는 Number, String, Boolean, null, undefined , Symbol 이 있다.
- 기본형 데이터는 컴퓨터의 메모리 영역에서 변경이 불가능하지만, 재할당은 가능하다.
- 값이 변수에 할당될 대 컴퓨터는 메모리의 고정 크기로 원시 값을 저장하고 해당 저장된 값을 변수가 직접 가리킨다.
- 재할당을 할 시 기존 값이 변하는게 아니라 새로운 메모리에 재할당한 값이 저장되고 변수가 가리키는 메모리가 달라진다.
- 코드를 통해 이해하보자.
let a = 1
let b = 2
a = b
b = 1
console.log(a) // 2
→ 2
- a에 b를 재할당 할 시 b의 값 2가 a 에 재할당 되었다.
- 재할당을 한 후 b의 값에 1을 재할당해도 a에는 영향을 끼치지 않고 2가 출력되었다.
참조형 데이터
- 참조형 데이터는 값이 저장된 주소값을 할당한다.
- 참조형 데이터는 대표적으로 객체(Object)가 있고 배열(Array), 함수(Function), 정규표현식(RegExp), Map, Set, WeakMap, WeakSet이 있다.
- 기본형 데이터는 값을 직접 할당하지만 참조형 데이터는 데이터의 값이 저장되어있는 주소값을 할당한다.
- 기본형 데이터처럼 변수를 선언할 때 데이터를 저장할 공간을 확보하는 것은 동일하나 값을 저장하는 것이 아닌 주소값을 저장한다는 것에서 차이가 있다.
'JavaScript' 카테고리의 다른 글
JavaScript, 얕은 복사와 깊은 복사 (0) | 2022.11.18 |
---|---|
JavaScript, 불변성과 불변객체를 만드는 방법 (0) | 2022.11.18 |
JavaScript, == 와 ===의 차이, undefined 와 null의 차이 (0) | 2022.11.18 |
JavaScript 형변환 (0) | 2022.11.18 |
JavaScript, 느슨한 타입(loosely type) 의 동적언어(dynamic) (0) | 2022.11.18 |