JS 원시 자료형과 참조 자료형

FE 개발자 신상오·2022년 5월 12일
0

JS

목록 보기
6/15
post-thumbnail

원시 자료형 VS 참조 자료형

원시 타입 자료형 (primitive data type)

  • number
  • boolean
  • null
  • undefined
  • string

변수에 데이터를 담는 형태의 자료형 - 하나의 데이터만 담을 수 있음

let a = 5;
let b;
b = a;

b = 3;

console.log(b); // 3
consol.elog(a); // expected : 5 

변수 b에 변수 a에 담겨져있는 데이터를 할당 후 변수 b에 어떤 값을 넣던 변수 a에 영향 x

참조 타입 자료형 (Reference data type)

  • array
  • object
  • function

참조 타입 자료형은 데이터를 저장하는 대신 데이터가 담긴 저장소의 주소를 저장합니다

let arr1 = [10, 20, 30]
let arr2;

arr2 = arr1;

console.log(arr2); // [10, 20, 30]
arr2.pop();
console.log(arr2); // [10, 20]
console.log(arr1); // [10, 20]
// arr2의 값을 변경했지만 arr1에도 영향이 있음

arr2 = 5;

console.log(arr2); // 5
console.log(arr1); // [10, 20, 30] 
// arr2에 값을 재할당 하는 경우에는 arr1에 영향 x

원시 자료형과 다르게 참조 자료형의 경우 변수에 데이터가 위치한 메모리 상 주소를 담기 때문에
arr2 배열, 객체의 값을 변경하면 주소에 위치한 값이 변경하기 때문에
arr1 변수의 값에도 영향을 미칩니다.

참조 자료형은 heap 데이터 보관함에 담깁니다
heap은 상황에에 따라 동적으로 변하는 특징을 가지고 있습니다.

profile
주간 회고용 블로그입니다 (개발일지와 정보글은 티스토리에 작성합니다.)

0개의 댓글