본문 바로가기
개발/script&vue&react

데이터 타입의 종류

by 밤즈라라2 2024. 12. 30.
728x90
반응형

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

 

1. 기본형

Number

String

Boolean

Null

Undefined

Symbol

 

2. 참조형 - Object

Array

Function

Date

RegExp

Map, WeakMap

Set, WeakSet

 

기본형과 참조형을 구분하는 기준은?

일반적으로 기본형은 할당이나 연산 시 복제되고 참조형은 참조된다고 알고 있겠지만, 둘 모두 복제를 하긴 한다.

기본형은 주소값을 바로 복제, 참조형은 값이 담긴 주솟값들로 이루어진 묶음을 가리키는 주솟값을 복제함.

 

기본형은 불변성을 띈다. 불변성을 띄는 이유는?

할당과정을 보면 알수있다. 변수에 데이터를 할당 할 때, 직접 저장하지 않는다. 
데이터를 저장하기 위한 별도의 메모리 공간을 다시 확보해서 데이터를 저장합니다!

>> 기존 데이터에 어떤 변화를 주든 상관없이 무조건 새로 만들어 별도의 공간에 저장합니다.

이러한 성질을 통해 불변값이라는 것을 알 수 있습니다.

 

이런 식으로 데이터 처리를 하는 이유는 데이터 변환을 자유롭게 할 수있게 하고, 메모리를 더욱 효율적으로 관리하기 위함입니다.

 

 

가변값

참조형 데이터는 설정에 따라 가변값, 불변값 전부 사용 가능합니다.
보통 프로퍼티에 접근을 해서 값을 변동 시킨다면, '새로운 객체'가 만들어진 것이 아니라 기존의 객체 내부의 값만 바뀐 것 입니다. 

불변 객체를 만드는 방법?

참조형 데이터의 가변은 데이터 자체가 아닌 내부 프로퍼티를 변경할 때만 성립합니다.
데이터 자체를 변경하고자 하면 기본형 데이터와 마찬가지로 기존 데이터를 변하지 않습니다.

>> 새로운 객체를 반환하도록 프로퍼티를 복사해서 만드는 방법이 있다.

* 기본형 데이터일 경우 : 그대로 복사 
* 참조형 데이터일 경우 : 내부 프로퍼티들을 복사

 
728x90
반응형