티스토리 뷰

📌 값에 의한 복사인지 주소값에 의한 복사인지 주의!!


● 매개변수 Call By Value : 원시타입(primitive type)을 매개 변수로 넘겼을때

 - 값에 의한 복사

 - 매개 변수 값을 변경시켜도 영향 없음

 

예시 

let a = 1;

let primitive_arg = function(b) { //callee
 b = b + 1; 
}

primitive_arg(a); // caller

console.log(a); //output: 1

전역변수 값이  변화가 없다. 매개변수로 주솟값이 아닌 값에 대한 매개변수를 받기에 

 

 

 

 

● 매개변수 Call By Reference : 객체 타입(object type)을 매개변수로 넘겼을 때

 - 주소에 대한 복사

 - 함수 내에서 변수 값을 변경시키면 원본데이터도 영향을 받음 (주솟값이기에)

 

예시

let a = {v:1}; //Object 

let reference_arg = function(b) { //callee
 b.v = b.v + 1;   
}

reference_arg(a); // caller

console.log(a.v); //output: 2 (object로 주솟값을 참조함)
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함