본문 바로가기

JavaScript

데이터 타입

자바스크립트 데이터 타입

기본형(Primitive Types)

  • Number, String, Boolean, null, undefined, Symbol

 

참조형(Reference Types)

  • Object - (Array, Function, Date, RegExp, Map, WeakMap, Set, WeakSet)

 

변수와 식별자

  • 변수 : 변경 가능한 데이터를 저장하는 공간
  • 식별자 : 변수의 이름

 

메모리 할당 과정

1. 변수 선언

  • 메모리의 빈 공간에 식별자 저장
  • 자동으로 undefined 할당

2. 데이터 할당

  • 기본형 : 별도의 공간에 데이터를 저장, 그 공간의 주소를 변수에 할당
  • 참조형
    1. 객체 프로퍼티를 위한 별도 변수 영역 확보
    2. 확보된 주소를 변수에 연결
    3. 각 프로퍼티의 식별자 저장
    4. 각 데이터를 별도 공간에 저장하고 주소 매칭

 

기본형과 참조형의 차이

  • "객체의 변수(프로퍼티) 영역"의 별도 존재 유무

 

참조형 데이터의 가변성

  • 객체 내부 변수는 변경 가능참조형 데이터는 가변값

 

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

  1. 깊은 복사(하드코딩, 깊은복사 함수, JSON.stringify/parse)
  2. 불변성 라이브러리 사용(immutable.js, baobab.js)
  3. 깊은 복사를 위한 내장함수 structuredClone()

 

'없음' 을 나타내는 값

  • null : 사용자가 명시적으로 할당 (권장)
  • undefined : JS 엔진이 자동 반환

null 사용 시 주의사항

  • 'typeof null' 은 object 반환
  • null 판별에는 일치 연산자 (`===`) 사용 권장

'JavaScript' 카테고리의 다른 글

콜백함수  (0) 2024.12.14
this  (0) 2024.12.13
실행컨텍스트(Execution Context)  (0) 2024.12.03
얕은복사와 깊은복사, structuredClone()  (0) 2024.12.02
스택(Stack)과 힙(Heap)  (0) 2024.12.02