기본형, 참조형 데이터의 차이

기본형은 불변성을 띄고 참조형은 가변성을 띈다.

기본형은 값이 담긴 주소 값을 바로 복제하는 반면
참조형은 값이 담긴 주소 값으로 이루어진 묶음을 가리키는 주솟값을 복제한다는 점이 다르다.

기본형 - 불변값

var a = 'abc';
a = a + 'def';

var b = 5;
var c = 5;
b = 7;

변수 a에 문자열 'abc'를 할당했다가 뒤에
'def'를 추가하면 기존의 'abc'가 'abcdef'로 바뀌는 것이 아니라 새로운 문자열 'abcdef'를 만들어 그 주소를 변수 a에 저장한다.

결국 값 'abc'는 5004에 그대로기 때문에 불변성을 띈다.

참조형 - 가변값

var obj1 = {
a: 1,
b: 'bbb'
};

obj1.a = 2;

프로퍼티에 변화가 있더라도

obj1이 바라보고 있는 주소는 @5001로 변하지 않고
@7103의 값이 변한다. 변수에는 다른 값을 얼마든지 대입할 수 있는 것.

그래서 가변성을 띈다고 한다.

좋은 웹페이지 즐겨찾기