기본형 데이터와 참조형 데이터 값 비교
var a = 10;
var b = a;
var obj1 = {c:10, d:'ddd'}
var obj2 = obj1;
console.log(b); //10
console.log(obj1.c); //10
console.log(obj2.c); //10
b = 15;
obj2.c = 20;
console.log(b); //15
console.log(obj1.c); //20
console.log(obj2.c); //20
// a !== b
// obj1 === obj2
a !== b
obj1 === obj2
기본형과 참조형 데이터의 가장 큰 차이점이다
변수에 할당하기 위해 주솟값을 복사해야 한다.
기본형은 주솟값을 복사하는 과정이 한 번만 이뤄지고
참조형은 한 단계를 더 거친다.
변수 복사 이후 객체 자체를 변경했을 때
var a = 10;
var b = a;
var obj1 = {c:10, d:'ddd'}
var obj2 = obj1;
console.log(b); //10
console.log(obj1.c); //10
console.log(obj2.c); //10
b = 15;
obj2 = {c:20, d:'ddd'} //객체 자체를 변경
console.log(b); //15
console.log(obj1.c); //10 👉🏻 객체를 변경한 것이어서 새로운 공간에 새 객체가 저장
console.log(obj2.c); //20
'웹 > JavaScript' 카테고리의 다른 글
얕은 복사 VS 깊은 복사 (0) | 2022.11.25 |
---|---|
불변 객체를 만드는 간단한 방법 (0) | 2022.11.23 |
데이터 타입 Primitive Type VS Reference Type (0) | 2022.11.19 |
자바스크립트 변수, 상수, 불변값, 불변성 (0) | 2022.11.13 |
ES6. setPrototypeOf (0) | 2021.01.21 |
댓글