티스토리 뷰
📌 값에 의한 복사인지 주소값에 의한 복사인지 주의!!
● 매개변수 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로 주솟값을 참조함)
'자바스크립트' 카테고리의 다른 글
[자바스크립트] 무한스크롤바 만들기 (0) | 2023.03.02 |
---|---|
[자바스크립트] 고차함수 (2) | 2023.02.23 |
[자바스크립트] 깊은복사(deep copy) 얕은복사(shallow copy) (0) | 2023.02.15 |
VScode LIVE SERVER(웹서버) 설치 (0) | 2020.03.08 |
자바스크립트의 탄생과 배경 (0) | 2020.03.08 |