얼음꽃의 일지

call by value 와 call by reference 본문

항해 일지

call by value 와 call by reference

얼음꽃 2022. 12. 19. 11:19
728x90

Call by Value

- arguments로 값 넘김

- 값이 넘어올때 복사된 값이 넘어옴

- 복사된 값이 넘어왔기 때문에 원본 데이터에는 영향을 받지 않음

- ex ) 전역변수에 선언해두고 함수 내에서 값을 바꿔도 전역 변수에는 변화가 없음

 

let a = 10;

const mul = function(b) {
	b = b * 3;
}

mul(a);
console.log(a) // 10

 

Call by Reference

- arguments로 값을 넘김

- 이때 넘어오는 값은 값 자체가 아닌 값에 대한 주소, 혹은 메모리 변수

- 참조 하는 부분을 넘기기 때문에 값을 복사할 이유가 없음

- 대신 위치를 넘겨받았기 때문에 변화가 생기면 전체에도 변화가 생김

 

let a = {};
let turn = function(b) {
 b.a = 1;
}
turn(a);
console.log(a.a); // 1
728x90

'항해 일지' 카테고리의 다른 글

깊은 복사 와 얕은 복사  (0) 2022.12.19
동시성과 병렬성  (0) 2022.12.19
프로세스, 스레드  (0) 2022.12.19
Base64 인코딩  (0) 2022.12.19
TCP 와 UDP  (0) 2022.12.19