Javascript Primitive type vs Reference type (원시자료형 vs 참조자료형)?? 뭔데??

1
post-thumbnail

👉 들어가기 전

Javascript 자료형은 크게 두 가지 데이터 타입으로 나뉜다!!

그것이 오늘 공부한 Primitive와 Reference type이다

=> 두 타입 모두 선언, 할당 과정을 거친다는 점에서는 동일하다.

1. Primitive Type(원시타입)

  • 원시자료형은 Number, String, Boolean, Null 등 객체가 아닌 데이터 타입을 Primitive type이라고 한다. 그 외의 모든 데이터 타입들은 객체이다.
  • 할 당시 값(value) 자체를 할당한다.
  • 고정된 저장 공간을 차지하며, 한 공간에 하나의 데이터만 담는다.
let a = 3; 
let b = a;
console.log(b===a); //true 
b = 5; 
console.log(b===a); //false

출처: https://joooing.tistory.com/entry/Primitive-Type-Reference-Type [joooing]```,

  • primitive Type 은 새로운 변수에 할당할 때, 사본을 하나 더 갖게 되는 것이라고 생각하면 이해하기 편하다.
    위 코드를 보면, 처음에 a = 3을 할당하고, b는 a의 값인 "3"만 복사해가는 것이다. 또,a와는 별도의 공간데 저장된다. 따라서 b에 5와 같이 다른 수를 할당하더라도 별도의 공간에 저장된 a에는 영향을 미치지 않게 되어 a=3, b=5로 다른 값을 가지게 된다.

  • 위 그림은 다른 예시를 그림으로 나타낸 것이다.

2. Reference Type(참조 자료형)

  • Reference Type은 저장 공간의 크기가 동적으로 변하는 자료형 타입.
  • 원시자료와 다르게 값(value) 대신 주소(address)를 함게 저장한다. 주소에는 각 주소마다 여러개의 데이터가 보관되어 있다. 그 공간을 "heep"이라고 한다.
  • Array, Object, Function 등이 있다.
  • Reference Type은 다른 변수에 복사 후 변경하면, 기존 변수까지 변한다.

마무리

=> Primitive는 정적 타입 / Reference는 동적 타입!!

profile
끝날때 까지 끝난게 아니야. 결국 내가 이겨!

0개의 댓글