자바스크립트의 원시타입과 참조타입

citron03·2022년 6월 22일
0

html, css, js

목록 보기
27/43
  • 자바스크립트는 두 가지 종류의 데이터 타입을 가진다.
    🍣 원시 타입참조 타입이다.
  • 원시 타입은 Number, String, Boolean, null, undefined가 있다.
  • 참조 타입은 함수, 객체, 배열이 있다.
  • 이 두 타입 모두 선언되면서 메모리를 차지하게 된다.
  • 자바스크립트는 동적 타이핑으로 변수를 선언할 때, 타입을 지정하지 않는다.
  • 따라서, 자바스크립트의 변수는 기존의 변수와 다른 타입의 변수가 재할당될 수 있다.

🍺 원시 타입 (Primitive Type)

  • Number, String, Boolean, null, undefined

  • 원시타입의 값을 가지는 변수를 다른 변수에 할당하면, 이 새로운 변수는 기존의 변수와 다른 메모리 공간에 새로이 값을 할당받는다.

const a = 100;
let b = a;

b++;

console.log(a, b); // 100 101
  • 기존의 원시타입 배열에 새로운 값을 할당하면, 새로운 메모리 공간을 할당받고 연결이 해제된 기존의 값이 있는 메모리 공간은 추후 가비지 컬렉터에 의해서 메모리 할당이 해제된다.

  • 원시 타입 데이터는 콜 스택(Call Stack)에 저장된다.

☕ 참조 타입 (Reference Type)

  • 함수, 객체, 배열

  • 참조 타입의 값을 가지는 변수를 다른 변수에 할당하면, 이 새로운 변수는 기존의 변수와 같은 메모리 공간을 참조하게 된다.

const a = [100];
const b = a;

b.push(-7);

console.log(a, b); // [100, -7] [100, -7]
console.log(a === b); // true
  • 참조 타입 데이터는 메모리 힙(Memory Heap)에 저장된다.
profile
🙌🙌🙌🙌

0개의 댓글