함수 호출 방식

CC·2022년 6월 9일
0
post-custom-banner

값에 의한 호출(Call By Value)

함수를 호출할 때 인자로 기본 타입의 값을 넘길 경우, 호출된 함수의 매개변수로 복사된 값이 전달된다.

기본 타입: 숫자, 문자열, 불린값, null, undefined

참조에 의한 호출(Call By Reference)

함수를 호출할 때 인자로 참조 타입(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);
post-custom-banner

0개의 댓글