Home Javascript 데이터 타입
Post
Cancel

Javascript 데이터 타입

들어가며

  • 이 내용은 코어 자바스크립트의 강의 중 데이터 타입을 정리한 내용 입니다.
  • 강의링크

Primitive Type

  • stack 영역에 저장
  • Number, String, Boolean, null, undefined, Symbol(ES6)

데이터 저장 방식

  • 우선 변수가 선언되면 데이터가 담길 임의의 공간을 확보한다. (1000번)
  • 식별자가 obj이니 이름을 obj로 지정한다.
  • 변수에 값이 할당되면 할당된 값을 임의의 공간에 저장하고, 변수가 할당된 공간을 찾아서 값이 있는 곳의 주소를 넣는다.
    1
    2
    
    var obj;
    obj = 123; 
    
    주소10001001100210031004100510061007
    데이터이름:obj
    값:@1007
          123
  • 만약 값을 바꾸면 새로운 공간의 값을 저장해서 위와 같은 과정을 진행한다.
    1
    
    obj = 456
    
    주소10001001100210031004100510061007
    데이터이름:obj
    값:@1002
     456    123

Reference Type

  • heep 영역에 저장
  • Object(Function, Array, Set…)

  • 우선 변수가 선언되면 데이터가 담길 임의의 공간을 확보한다. (1000번)
  • 식별자가 obj이니 이름을 obj로 지정한다.
  • Primitive Type과 다르게 Reference Type은 여러개의 값이 올 수 있으므로 다이렉트로 값을 넣지 못한다. 그래서 한 단계를 더 거친다.
  • obj에는 할당될 값의 주소의 범위를 임의로 지정하고, 각 프로퍼티에 대해서 할당한다. 할당하는 방식은 Primitive Type과 같다.

    1
    2
    3
    4
    5
    
    var obj;
    obj = {
      x: 3,
      y: 5,
    };
    
    주소10001001100210031004100510061007
    데이터이름:obj
    값:@1005~?
      35이름:x
    값:@1003
    이름:y
    값:@1004
     

주의점

  • Reference Type은 값을 복사를 했을 때, 복사된 값의 내부 내용을 바꿔도 원본값이 바뀔 수 있다는 점이 있다

참조 카운트

  • 특정 메모리 영역이 참조되는 횟수 참조 카운트가 0이되면 해당 메모리 영역은 가비지 컬렉터에 수거 대상이 된다.
This post is licensed under CC BY 4.0 by the author.

Typescript 연산자를 이용한 타입정의

Javascript 실행 컨텍스트(execution context)와 this