JavaScript - 기본형과 참조형의 종류 및 차이점


  1. Primitive Type (기본형) 값을 그대로 할당한다
  2. Reference Type (참조형) 값이 저장된 주소값을 할당(참조)
  3. 객체 1.배열 2. Function 3. RegExp
var a;
a = 10;

var b = 'abc'; //b->@314
b = false;

var c = b; // c->@315, 315->false

b===c 이다.

c - 20; //c->@315, 315->20.
var obj = {
  a:1,
  b: 'b'
};

//obj->@413 참조형은 프로퍼티와(키) 데이터(값)으로 이루어져 있음.

//413->@1011
// 1011-> { a:@1012, b:@1013}
// 1012 -> 1
// 1013 -> 'b'

var obj2 = obj; //obj2->@414

//414->@1011

obj2.a = 10;

//1012->10

console.log(obj.a); //10

obj === obj2

var obj3 = {
  a: [4,5,6]
};

//obj3 -> @547

//547->{a:@1185}
//1185-> [@1326, @1327, @1328]
//1326->4, ,

obj3.a = 'new'; //1185->'new', 1326~1328 까지 링크 사라짐. GC 대상