[JS] pass by Reference

뚜벅맨·2021년 7월 8일
1
post-custom-banner

값을 저장하는 방식에 관한 이야기입니다. 프로그래밍 언어들이 값을 변수에 저장하는 방식은 크게 2가지가 있습니다.

  1. pass by Value
  2. pass by Reference

1번은 어떠한 값을 메모리 공간에 직접 넣고 변수를 할당하는 방법이고, 2번은 그 값을 저장한 메모리의 주소를 변수에 할당하는 방법입니다.

참조에 의한 전달- pass by Reference
개체에 할당된 변수를 인수로 함수에 전달할 때 컴퓨터는 매개 변수 이름을 해당 개체를 고정하는 메모리의 공간을 가리키는 것으로 해석합니다.

따라서 개체 속성을 변경하는 기능은 개체가 상수 변수에 할당된 경우에도 실제로 개체를 영구적으로 변형시킵니다.



pass by Value와 pass by Reference 의 비교

  • pass by Value
   let number = 15;
   let value = number;

value의 값도 number와 마찬가지로 20이지만, 값만 전달받은 것이기 때문에 number와 value는 별개입니다.

  • pass by Reference
   let obj = {number : '15'};
   let value = obj;

value에 객체 obj를 할당한 경우, 그 값의 주소를 전달받은 것이기 때문에 value에서 number의 값을 수정하면 obj에도 적용이 됩니다.

profile
쉽게만 살아가면 재미없어 빙고🐝
post-custom-banner

0개의 댓글