데이터 타입 (기본형과 참조형)

2024. 4. 17. 15:21 · Programming/JavaScript

Primitive type (기본형)

- Number

- String

- Boolean
- null

- undefined
- (ES6) Symbol

 

Reference type (참조형)

- 대표적으로 Object(객체)가 있고, 그 하위에 

- Array(배열)

- Function(함수)

- RegExp(정규표현식) 

- (ES6) Set / WeakSet

- (ES6) Map / WeakMap

 

기본형과 참조형의 차이점은 각 데이터가 메모리 상에서 저장되는 형태의 차이점이 있다. 

 

실제 자바스크립트의 메모리 구조 2종류

 

stack memory

- 변수와 함께 기본형 데이터가 저장된다

 

heap memory

- 참조형 데이터가 저장된다

 

** 추상화 시킨 메모리라는 정의 아래에 설명된 내용임

------

표는 메모리이다. 메모리가 각각 하나의 셀에 주소(1001,1002 ... )가 있는 것임. 

var a; 선언 시 , 데이터가 담길 공간을 확보함. 주소는 랜덤으로. 임의로 1003에 저장

a = 'abc'; 비어있는 다른 메모리 공간에 저장. 임의로 5004에 저장

변수 a의 공간

인 1003에 있는 값에 @5004를 넣는다. 

그 이후에

a = 'abcderf';를 다시 저장한다면 5004가 아닌 다른 공간(임의로 5005)에 다시 저장하여 1003에값을 5005로 바꿈

 

 

-------참조형 변수

둘이 같다는 것을 우리는 알고 있지만, 컴퓨터가 처리하는 순서 방식이 다르다. 

 

1. 임의의 공간 1002에 obj 변수 저장

2. obj 안에 a,b 2개의 값을 한 공간에 넣을 수 없기 때문에 a,b 공동의 임의 공간 @5002에 두개의 값이 들어갈 주소(@7103~?)을 저장 (= 전부 7103 객체의 프로퍼티야 " 라고 저장한다. 

3. a프로퍼티 주소는 @7103에, b 프로퍼티 주소는 @7104이다.   

4.  a의 값인 1은 @5003에 저장되고, 'bbb'는@5004에 저장된다.

5. @5003, @5004는 7103,7104에 저장하게 된다. 

728x90

'Programming > JavaScript' 카테고리의 다른 글

코어자바스크립트 this binding  (0) 2024.04.22
코어 자바스크립트 실행컨텍스트  (1) 2024.04.22
[코딩악마] 자바스크립트 기초 강좌 : 100분 완성 (2)  (0) 2024.04.08
[코딩악마] 자바스크립트 기초 강좌 : 100분 완성 (1)  (0) 2024.04.08
3월 26일  (0) 2024.03.26
'Programming/JavaScript' 카테고리의 다른 글
  • 코어자바스크립트 this binding
  • 코어 자바스크립트 실행컨텍스트
  • [코딩악마] 자바스크립트 기초 강좌 : 100분 완성 (2)
  • [코딩악마] 자바스크립트 기초 강좌 : 100분 완성 (1)
따`ddah
따`ddah
    250x250
  • 따`ddah
    IT's ddah
    따`ddah
  • 관리    글쓰기
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • Projects
        • Auto Post : SNS 자동 업로더
      • kmooc N
        • 기계 학습 기반의 데이터 공학
      • Algorithm
        • [C] Do it! 자료구조와 함께 배우는 알고리..
        • 알고리즘 스터디
        • 코딩 테스트
      • Basic
        • 운영체제 OS
        • 컴퓨터구조
        • 소프트웨어공학 (UML)
      • DBMS
        • 데이터베이스 이론
        • MySQL
        • Oracle SQL
        • BigQuery
        • Yammer
      • Programming
        • Python
        • C
        • Java
        • React
        • JavaScript
        • R
      • 빅데이터
      • AI N
        • 멀티미디어응용
        • 머신러닝
        • 인공지능 N
      • 자격증
        • Azure DP-900
        • Azure AI-900
        • SQLD
        • CSTS
      • 대외활동 및 인턴
        • 인턴
        • LG Aimers
        • Outta
        • 빅데이터 분석 학회 BDA
        • 세계시민교육연구소 청년단 GYIA
      • Tool
        • Git
        • IDE
      • 도서
        • IT
      • 그 외
        • 단축키
        • ✞
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    파이썬 챗봇 만들기
    티스토리챌린지
    빅데이터분석
    sql
    jsx
    input
    자료형
    취업
    오블완
    주석
    오라클SQL
    대외활동
    리액트
    이름나이
    dbms
    python
    대학생학회
    파이썬{}
    react
    Oracle
    AI역량검사
    javascript
    자바스크립트
    BDA학회
    파이썬
    print(f"")
    취업준비
    importturtle
    js
    Py
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
따`ddah
데이터 타입 (기본형과 참조형)
상단으로

티스토리툴바