[코어 자바스크립트] 📑 데이터 타입 정리

데이터 타입: 기본형 | 참조형

  • 기본형은 불변값
  • 참조형은 가변값

기본형은 할당이나 연산시 복제되고, 참조형은 참조된다?

  • 엄밀히 말하면 둘다 복제됨
  • but, 기본형은 값이 담긴 주소값을 바로 복제하고 참조형은 값이 담긴 주소값들로 이루어진 묶음을 가리키는 주솟값을 복제함

변수와 식별자

  • 변수는 변경 가능한 데이터가 담길 수 있는 공간
  • 식별자는 그 변수의 이름

변수 선언 후 과정

  1. 메모리의 빈 공간에 식별자 저장
  2. 그 공간의 값은 undefined 할당

변수에 데이터 할당 과정

  • 기본형 데이터일 때

    1. 별도의 공간에 데이터 저장
    2. 그 공간의 주소를 변수의 값 영역에 할당
  • 참조형 데이터일 때

    1. 참조형 데이터 내부 프로퍼티들을 위한 변수 영역을 확보
    2. 확보된 주소를 변수에 연결
    3. 확보된 변수 영역에 각 프로퍼티의 식별자 저장
    4. 각 데이터를 별도의 공간에 저장해서 그 주소를 식별자들과 매칭시킴

할당 과정에서 기본형과 차이가 생긴 이유

  • 참조형 데이터는 여러 개의 프로퍼티(변수)를 모은 그룹이기 때문
  • 이 차이로 인해 참조형 데이터를 가변값으로 여겨야 하는 상황 발생

참조형 데이터를 불변값으로 사용하는 방법

  • 내부 프로퍼티들을 일일이 복사(깊은 복사)
  • 혹은 라이브러리 사용

없음“을 나타내는 값은?

  • undefined는 어떤 변수에 값이 존재하지 않을 경우를 의미
  • null은 사용자가 명시적으로 없음을 표현하기 위해 대입한 값
  • 본래의 의미헤 따라 사용자가 없음을 표현하기 위해 명시적으로 undefined를 대입하는 것은 지양하는 것이 좋음

Written by@thumbsu
프론트엔드 개발자 엄지수 입니다.

GitHubTwitterLinkedIn