원시 자료형과 참조 자료형

hzn·2022년 9월 6일
0

JavaScript

목록 보기
4/17
post-thumbnail

원시 자료형 (primitive type data)

  • Number, String, Boolean, undefined, null, bigint, symbol
  • 하나의 데이터를 담고 있음
  • 데이터를 Stack에 저장

참조 자료형 (reference type data)

  • Array, Object, Function
  • 데이터는 Heap이라는 별도의 메모리 저장 공간에 저장. Stack에는 Heap의 주소를 저장.
  • Heap의 크기는 데이터의 크기에 따라 동적으로 변함.

변수 복사 후 값 변경 시

원시 자료형 : 원본 데이터 변하지 않음

  • 데이터 값이 복사되기 때문에 원본 데이터는 변하지 않음
let a = 4;
let b = a; // 변수 b에 a를 복사해 옴
b = 7; // 변수 b에 새로운 값 넣어줌
a; // 4 (원본 데이터 변하지 않음)

참조 자료형 : 원본 데이터 변경됨

  • 주소가 복사되기 때문에 원본 데이터가 변경됨.
let c = [3, 5, 7];
let d = c; // 변수 d에 c를 복사해 옴
d[0] = 2 // 인덱스 0에 새로운 값을 넣어 줌
c; // [2, 5, 7] (원본 데이터 변함)

===는 주소값을 비교

  • 두 배열은 서로 다른 주소값을 가짐.
[] === [] // false
[1, 2, 3] === [1, 2, 3] // false

같은 주솟값을 가지게 하는 =

  • 할당(=) : 같은 주소값을 가지게 함.

0개의 댓글