참조와 복사

jake·2021년 8월 4일
0

JavaScript문법

목록 보기
7/21
post-thumbnail

참조와 복사 메커니즘

값을 변수로 할당할 때 변수와 변수사이에 그 값이 이동하는 메커니즘

  • 기본 데이터 타입들은 변수에 들어갈 때 실제 값이 들어간다. (복사메커니즘)
let a = 10;
let b = a;
b = 20;
<br>
위에 코드에 b변수에 a값을 넣을 때 값이 그대로 복사 되어 들어간다.
b를 20으로 바꿔도 a에는 전혀 영향을 미치지 않는다.
  • 객체 값은 복사되지 않고 참조 된다.
    즉, 객체자체가 들어가는게 아니라 객체는 한곳에 저장되어있고, 그 저장되어있는 위치값만 변수에 기록된다. (참조메커니즘)
let o = {
    isLoading:false
}
let o2 = o;
o2.isLoading = true;
<br>
위에 코드에 o2에 o객체를 할당 하고 o2의 isLoading을 true로 바꾸면
o와 o2의 isLoading이 true로 바뀐다. 
let a = {
    isLoading : false
};
function foo(a) {
    a.isLoading = true;
}
foo(a);
<br>
객체를 함수에 넣을 때도 마찬가지로 foo(a) 함수를 호출해서 실행하면
let a 의 isLoading속성도 true로 바뀐다는걸 알 수 있다.
profile
열린 마음의 개발자가 되려합니다

0개의 댓글