{22년}코드스테이츠 FE - 블로깅_자료형(원시와 참조)

SANGHYUN KIM·2022년 7월 11일
0

JS에는 크게 두 가지 자료형이 존재

원시자료형

정의: 객체가 아니면서 method를 가지지 않는 6가지 타입

[특징]

  • 각 변수에 갑(value)이 하나만 할당
    • 박스(메모리)에 변수의 이름이 할당되고 박스(메모라) 안에 한 가지 데이터만 보관
  • 복사 시 값을 복사하여 복사시킬 함수에 할당
let a = 10;
b = a;
console.log(b); // 10
console.log(a); // 10
b = 12;
a === b // false

참조자료형

정의: 원시자료형이 아닌 모든 것 OR 변수 안에 두 가지 이상의 데이터를 가지는 타입

[특징]

  • 메모리에 변수의 이름을 할당하고 값으로 주소(reference)를 보관
    • 'heap'이라는 특별한 공간에서 주소와 값이 저장됨
  • 동적 변경 가능 -> 요소를 추가/삭제 가능
  • 복사 시 주소를 복사/붙여넣기 하기에 복사된 변수와 복사한 변수는 서로 같은 주소(referenec)를 보고 있음
let a = [1, 3, 5];
// a라는 변수에 주소가 찍힘
// 해당 주소를 참조(reference)해보면 [1, 3, 5]라는 배열값이 저장되어 있음

let b = a;
b.pop(); // [1, 3, 5] -> [1, 3]
a === b //true
//왜냐하면 pop은 주소의 요소에 적용이 되었고 a와 b는 같은 주소를 바라고 보고 있기 때문에
profile
꾸준히 공부하자

0개의 댓글