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 |