함수를 호출할 때 인자로 기본 타입의 값을 넘길 경우, 호출된 함수의 매개변수로 복사된 값이 전달된다.
기본 타입: 숫자, 문자열, 불린값, null, undefined
함수를 호출할 때 인자로 참조 타입(ex. 객체)을 전달할 경우, 인자로 넘긴 객체의 참조값(객체의 위치값)이 그대로 함수 내부에 전달된다.
그렇기 때문에 함수 내부에서 참조값을 이용해서 인자로 넘긴 실제 객체의 값을 변경할 수 있다.
참조 타입: 배열, 함수, 객체
var a = 100;
var objA = { value: 100 };
function changeArg(num, obj) {
num = 200;
obj.value = 200;
console.log(num);
console.log(obj);
}
changeArg(a, objA);
console.log(a);
console.log(objA);