본문 바로가기
Web/JavaScript & jQuery

javascript call by value, call by reference

by 강깅꽁 2016. 10. 21.

exports와 module.exports를 찾아보던 중 

javascript의 call by value와 call by reference에 대해 알게 되었다.


javascript에서 변수를 넘기면 call by value이고,

객체를 넘기면 call by reference가 된다.


다음과 같이 예를 들 수 있다.

예를들어 var a=1; 

var b=a; 를 할때 이것은 call by value이다  따라서 값을 복사하게 되고 a와 b각각 1이라는 값을 가지고 있다. 따라서 b를 변경해도 a의 값이 변하지 않는다.


var c = {age:11};

var d = c; 이 경우 call by reference가 일어난다. 따라서 d는 c의 값을 참조하고 있기 때문에 d.age=13; 처럼 값을 변경할 경우 c의 값 또한 변경된다. 


추가

call by reference는 c언어에서 pointer를 자주 써본 사람이면 쉽게 이해가 갈 것입니다.