var a = 1; //데이터형이 숫자
var b = a; //이때 복제가능한 것은 Primitive type이기 때문
b = 2; //값을 변경한것은 b이기 때문에 변수 a에 담겨있는 값은 그대로
console.log(a); // 1 ← 변수b의 값에 변수a의 값이 복제됨
2. 참조(Reference)
데이터형이 객체! = 참조 데이터타입
var a = {'id':1}; //데이터형이 객체
var b = a;
b.id = 2;
console.log(a.id); // 2
var a = {'id':1};
var b = a;
b = {'id':2}; //b라는 객체가 새로 생성된 것이기 때문에 a에 영향을 주지 않음
console.log(a.id); //1
3. 함수와 참조
3-1. 복제와 같은 맥락
var a = 1;
function func(b){ //b = a
b = 2;
}
func(a);
console.log(a); //1
3-2. 참조와 같은 맥락
3-2-1. 영향을 미치는
var a = {'id':1};
function func(b){ //b = a
b.id = 2;
}
func(a);
console.log(a.id); // 2
3-2-2. 영향을 주지 않는
var a = {'id':1};
function func(b){ //b = a
b = {'id':2};
}
func(a);
console.log(a.id); // 1
//b라는 객체가 새로 생성된 것이기 때문에 a에 영향을 주지 않음