객체 지향 - 참조
포스트
취소

객체 지향 - 참조

복제 (copy)

var a = 1;
var b = a;
b = 2;
console.log(a); //출력 : 2

//a가 2인 것은 매우 당연하다.
//왜냐하면 값을 변경한 것은 a가 아니라 b이기 때문이다.
//b는 a의 값을 복사받은 것이기 때문에 a에는 영향이 없다.

참조 (reference)

var a = {'id' : 1};
var b = a;
b.id = 2;
console.log(a.id); //출력 : 2

//평소처럼 복제하듯이 b=a를 해준 다음에 나는 분명 b의 id 값을 변경했는데, a의 id 값도 바뀌었다.
//그 이유는 변수에 저장된 것이 원시 데이터 타입이면 그 안에는 실제 데이터가 들어가있다.
//하지만 변수에 저장된 것이 객체 타입이면 그 안에는 참조 방법이 들어가있음을 의미한다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.