TIL

dev-whol·2021년 4월 22일
0

✍🏻원시 자료형과 참조 자료형

원시 자료형(primitive type)

  • 하나의 데이터를 담고 있다.
  • 할당될 때 변수에 값 자체가 담긴다.
  • 변수에 하나의 데이터만 담는다.
  • stiring, number, bigint, boolean, symbol, undefined, null

참조 자료형(reference type)

  • 할당될 때 변수에 heap의 주소가 담긴다.
    (heap : 데이터를 동적으로 담을 수 있는 저장소)
  • 데이터의 크기가 동적으로 변하는 데이터 보관함

문제

코드가 실행된 후, x의 값은?
let x = 5;
let y = x;
y=6;
console.log(x) // 5
코드가 실행된 후, x.foo의 값은?
let x = {foo: 5}
let y = x;
y.foo = 2;
consonle.log(x.foo) // 2

풀이

  1. 원시 자료형을 할당하는 경우, 그 값 자체를 변수에 할당한다. x가 할당된 y에 다른 값을 넣어도 x는 변하지 않는다.
  2. 참조 자료형을 할당하는 경우, 그 값을 가진 주소를 할당한다. x가 할당된 y에 같은 주소를 할당하기 때문에 y의 주소의 담긴 값을 바꾸면 같은 주소를 보는 x도 값이 바뀐다.

0개의 댓글

관련 채용 정보